我有一个用javascript编写的非常简单的Nightwatch测试,其中一部分是验证页面的URL是否正确。每次重新提交页面时,URL都会包含一个随机数字字符串,此数字字符串将更改。 URL的其余部分是静态的并且已经考虑在内。
我一直在寻找和阅读,但仍然没有找到一个有效的解决方案,但我无法想象要解决的问题是罕见的还是困难的。我在javascript上很新,所以我可能会忽略一些简单的东西,但我真的可以使用一些帮助。
您可以使用正则表达式来验证URL模式。使用\d+
匹配任意数量的数字。
例如,如果您要匹配的URL是www.example.com/path/123
,其中123
是动态的并且可以更改,您可以使用以下正则表达式来测试它。
var url = "www.example.com/path/123";
var regex = /www\.example\.com\/path\/\d+/;
regex.test(url)
在这里,regex.test(url)
将返回true
,用于示例中显示的URL以及URL,如www.example.com/path/111
或www.example.com/path/4
等。
您可以进一步改进正则表达式,以确保它从www
开始,在正则表达式的开头使用^
,如/^www\.example\.com\/path\/\d+/
阅读有关正则表达式here的更多信息
编辑:
这是一个JSFiddle的链接,我刚刚用相同的代码编写,读取在input
字段中给出的URL,并使用正则表达式测试其模式,并根据结果显示alert
和true
或false
。
在你的情况下,我猜你正在使用selenium读取当前的URL而不是从input
读取它。并且您必须根据您正在测试的URL更改正则表达式。
您可以在input
字段中提供要测试的URL,并在JSFiddle中修改正则表达式以进行测试。