我不知道为什么量角器在到达代码时超时,忽略同步设置为 false;
this.countSubscribers = function () {
this.subscriberCount().then(function (count) {
totalSubscribers = count;
});
};
该方法工作正常,并且当忽略同步=true时,总订阅者变量获得正确的值;
下面的代码是我的规范页面示例:
describe("subscriber page test", function () {
"use strict";
var selectedCount = 10;
var subscriberCount;
describe("This test script selects no. of subscribers to be displayed on subscriber page", function () {
/**
* Step-1#Select number of items to be displayed
* Step-2#Get the count of subscribers displayed
* Step-3#check whether the number of subscribers displayed is equal to 10
*/
it("should select the no. of items to displayed and get the count", function () {
browser.ignoreSynchronization = false;
subscriber_page.selectItems(selectedCount);
subscriber_page.countSubscribers();
});
it("should check whether the selected no. of subscribers are displayed", function () {
expect(subscriber_page.getSubscribers()).toBe(10);
});
});
});
下面的代码是我页面对象的示例:
var SubscriberPage = function () {
"use strict";
this.subscriberCount = function() { return element...};
this.selectOption = function(count) {return element...};
var totalSubscribers;
/**
* This method selects items in list box
*/
this.selectItems = function (count) {
this.selectOption(count).click(); //selects the items from list box
};
/**
* This method sets the number of subscribers listed
*/
this.countSubscribers = function () {
this.subscriberCount().count().then(function (count) {
totalSubscribers = count;
});
};
/**
* This method returns the subscriber count
*/
this.getSubscribers = function () {
return totalSubscribers;//returns the count of subscribers.
};
};
module.exports = new SubscriberPage();
失败:等待量角器与页面同步5秒钟后超时。请在等待带有定位器的元素时查看https://github . com/angular/量角器/blob/master/docs/FAQ . MD-Locator:By(CSS选择器,...)
到目前为止,我发现:如果我注释掉规范页面count tSubscriber方法中的以下行,而不是工作正常:
subscriber_page.selectItems(selectedCount);
或者如果我在执行 countSubscribers 方法之前暂时将忽略同步变量翻转为 true,它可以正常工作。
有人能解释一下当browser.ignoreSynchronization设置为false时量角器此时在做什么,最佳解决方案是什么?
在你的函数之前保留一个“this”的引用。然后你可以随时调用它。同样,如果您使用element.all(...)您将能够使用本机。count()将为您解析promise。
//对此的引用
var self = this;
element.all with .count()
< code > this . subscriber count = function(){ return element . all(...).count()};
//此方法返回列出的订阅者数
this.countSubscribers = function () { return self.subscriberCount(); });
问题内容: 我正在测试AngularJS应用程序,并且对量角器非常新。每次我打开浏览器时,它都会打开,然后等待超时,然后在cmd上引发以下错误。 我尝试增加超时限制,但始终会收到此错误。我也尝试过使用所有这些: 该页面正确加载,并且如果我使用Eclipse和Selenium与按钮对象进行交互,则可以正常工作。 只有量角器出现同步问题。请帮忙。 问题答案: 量角器超时的可能原因: 您的网页未以预期的
问题内容: 我正在使用小型AngularJS应用测试量角器。 这是测试: 控制器: 草稿服务: 使用量角器运行此测试会导致以下错误: 但是,如果在控制器中更改此行: 对此: 测试失败,但未达到预期目的,但更重要的是:它不会超时。 启用query()时,在浏览器中手动运行应用程序以及查看Protractor打开的浏览器窗口时,转发器均会正确显示API返回的数据。 当服务与API通信时,为什么Prot
我试图在量角器测试用例中设置一个cookie。我们使用量角器3.3.0,Angular 1.5.x和Node.js 6.9.1 这是规格: 编辑: 我做了一些进一步的实验。请注意,我已经更改了域,并且在成功读取/写入cookie之前没有。 这是我得到的输出: 编辑4: 越来越近了!将域设置为(注意开头的点(.))似乎有效。会做进一步调查并报告。与此同时,如果有人能告诉我为什么这个点是重要的,以及为
运行protactor时,出现以下错误:
我试图遵循量角器官方网站上的量角器教程,但我甚至无法完成步骤0。 我在用量角器 之后,我一直在遵循教程的第0步。我有配置。js文件和test-spec.js文件如下: 配置js公司 测试规范js 当我运行protector
问题内容: 我安装了OSX ,并随同安装了: 在将其设置为1.6时显示1.6,而在将其设置为1.7时显示1.7: …但是Maven忽略了我的设置: 我发现了这个问题],这个家伙只需要在内部对其进行硬编码,但是我不希望自己进行硬编码(因此!),而且我也没有或。 它使用的版本似乎来自输出中的第一个版本,因此在短期内,通过调整1.7的文件),我能够再次获得1.6 ,但这仅意味着我获得了1.6而不是1.7
我安装了带有的OSX,并且刚刚安装了以及: 正在执行其任务,始终工作,当我将其设置为1.6时显示1.6,当我将其设置为1.7时显示1.7: ...但maven忽略了我的设置: 我发现了这样一个问题,那家伙只需要在中硬编码他的,但我不希望我的!,而且我没有,也没有。 它所使用的版本似乎是从输出的第一个版本开始的,所以在短期内,通过调整1.7的文件(从这篇so文章),我可以重新获得1.6,但这仅仅意味
我正在使用antlr4语法存储库中的JSON语法来解析JSON文件。它工作得很好,并使用通常的规则忽略空格: