在我的量角器测试中,我想在页面中执行某些操作(第1页)。之后在同一个testcript中我想转到另一个页面(第2页)来检查结果。
describe('something', function() {
describe('foo', function() {
browser.get(url_1);
it("should do something with elem1 on page1", function() {
var elem1 = element(by.css("..."));
...
});
});
describe('bar', function() {
browser.get(url_2);
it("should do something with elem1 on page2", function() {
var elem1 = element(by.css("..."));
...
});
});
});
只要我不尝试导航到url_2,第1页的测试就可以了。 但在上面的示例中,浏览器导航到page1并立即导航到page2。我得到一个"失败:找不到使用定位器的元素" page1的错误。 我认为像browser.get和browser.setLocation这样的命令也应该成为controlFlow的一部分吗?
我该如何解决这个问题?
答案 0 :(得分:1)
您需要将browser.get(url_2);
语句包含在beforeAll()
方法中,如下所示。
describe('something', function() {
describe('foo', function() {
beforeAll(function(){
browser.get(url_1);
})
it("should do something with elem1 on page1", function() {
var elem1 = element(by.css("..."));
...
});
});
describe('bar', function() {
beforeAll(function(){
browser.get(url_2);
})
it("should do something with elem1 on page2", function() {
var elem1 = element(by.css("..."));
...
});
});
});