我正在自动化营销模拟的QA测试。我在node.js中使用BrowserStack和Nightwatch
我想在运行期间跳转到特定的网页 - 麻烦的是,有一个独特的课程代码会随着URL中的每次测试运行而改变(例如...... / 8759309 / ...)。这门课程代码在我想去的所有页面中保持不变。在此示例中,我想将当前URL(www.domain.com/8759309/page-i-have)保存为字符串,以便我可以插入课程代码并跳转到下一页(www.domain.com/ 8675309 /页-I-想要的)。
在量角器中似乎有一个函数(browser.getCurrentUrl())但我似乎找不到一个用于NightWatch的函数。
我的问题是,NightWatch中是否存在这样的功能,如果没有,您能想到任何解决方法吗?
答案 0 :(得分:1)
在Nightwatch中有一种方法,但您没有注意到,只需使用 browser.url()而无需参数,但回调可以获取当前的网址。
var savedUrl='';
browser.url(function(result){
savedUrl=result;
})
查看api了解详情:
http://nightwatchjs.org/api#url
答案 1 :(得分:0)
Nightwatch并没有内置这样的命令。因为听起来你很多时候都在使用这个功能,我会做的就是写一个javascript命令来完成这项工作,为你做。你甚至可以称之为.getCurrentUrl
。这里有一些关于创建自定义命令的文档:http://nightwatchjs.org/guide#writing-custom-commands
您可以尝试使用window.location.href
检索窗口的网址,然后将其另存为字符串。
答案 2 :(得分:0)
您还需要取消引用值
cout << "R\\C" << endl;
答案 3 :(得分:0)
我必须使用.perform()才能使用当前的url变量。
let currentUrl;
browser.url(function(result) {
currentUrl = result.value;
});
browser.perform(done => {
console.log(currentUrl);
done();
});