我是量角器新手。我写了一个角度测试,首先用户登录应用程序,然后单击特定按钮来计算一个数字。有时它有效,有时不起作用!
代码如下:
describe('Protractor Demo App', function () {
it('should login to app', function () {
browser.get('http://localhost:8080/main');
var userName = element(by.id('username'));
var passWord = element(by.id('pwd'));
var loginBtn = element(by.id('loginBtn'));
userName.sendKeys('user');
passWord.sendKeys('1');
loginBtn.click();
expect(browser.getCurrentUrl()).toEqual('http://localhost:8080/main/#/intro');
});
it('should calculate something', function () {
browser.get('http://localhost:8080/main/#/something');
var next = element(by.css('[ng-click="calculate()"]'));
element(by.model('accountNo')).sendKeys('0293949223008');
next.click();
expect(element(by.binding('result')).getText()).toEqual('55017000000029');
});
it('should show error for invalid input no', function () {
browser.get('http://localhost:8080/main/#/something');
var next = element(by.css('[ng-click="calculate()"]'));
element(by.model('accountNo')).sendKeys('9999456123789');
next.click();
expect(element(by.css('[class="messageObject warning"]')).getText()).toEqual('message for invalid input');
});
});
第一个“它”总是正确的,但第二个和第三个,有时工作。碰巧他们中只有一个没有工作;
这是错误:
消息:失败:未知错误:元素...点(1214,275)不可点击。其他元素将接收点击:...(会话信息:chrome=55.0.2883.87)(驱动程序信息:chrome Driver = 2 . 26 . 436362(5476 EC 6 BF 7 cc bada 1734 a 0 cdec 7d 570 bb 042 aa 30),平台=Windows NT 10.0.10240 x86_64)(警告:服务器未提供任何stacktrace信息)命令持续时间或超时时间:78毫秒构建信息:版本:“2.53.1”,修订版:“a36b8b1”,时间
我不知道是什么问题。谁能帮我吗?提前谢谢。
作为最后的手段,您可以使用javascript单击。请查看下面经过测试的代码。
var Home link = element(by . linktext(' Home '))。单击();browser . execute script(" arguments[0])。单击();",homelink);
这是对Suresh Salloju上述答案的扩展,其中的解决方案是使用Protractor的API等待元素可点击,如下所示:
browser.wait(EC.elementToBeClickable(element), 10000,'Element not clickable');
在某些情况下,即使等待elementToBeClickable
,也可能发生类似的异常。
在我的情况下,在某些屏幕尺寸下,Toast元素覆盖了问题中的元素 - 因此尽管它是可点击的,但它从未收到过点击。
在执行单击操作之前,使用ExpectedConditions.isElementToBeClickable()方法实现browser.wait()。您如下所示:
var EC = protractor.ExpectedConditions;
it('should show error for invalid input no', function (){
browser.get('http://localhost:8080/main/#/something');
var next = element(by.css('[ng-click="calculate()"]'));
element(by.model('accountNo')).sendKeys('9999456123789');
browser.wait(EC.elementToBeClickable(next ), 10000,'Element not
clickable');
next.click();
expect(element(by.css('[class="messageObject
warning"]')).getText()).toEqual('message for invalid input');
});
指针 (pointer)是一个包含内存地址的变量的通用概念。这个地址引用,或 “指向”(points at)一些其他数据。Rust 中最常见的指针是第四章介绍的 引用(reference)。引用以 符号为标志并借用了他们所指向的值。除了引用数据它们没有任何其他特殊功能。它们也没有任何额外开销,所以应用的最多。 另一方面,智能指针(smart pointers)是一类数据结构,他们的表现类似指针,但
本文向大家介绍什么是指向指针的指针? 相关面试题,主要包含被问及什么是指向指针的指针? 时的应答技巧和注意事项,需要的朋友参考一下 指针指向的变量是一个指针,即具体内容为一个指针的值,是一个地址. 此时指针指向的变量长度也是4位.
问题内容: 给了我一个 空指针异常 。btnEditor通过以下方式是XML Button的早期连接器: 在我的main.xml文件中: 真的,我不知道该怎么办… 解决 我忘记了我有两个文件: / res /布局 / res / layout-large 其中一个(大目录中)里面没有按钮,因此在使用大布局的设备上运行应用程序时出现错误。 问题答案: 最有可能你已经不叫用,这是要不你不叫 之前 这条
Selenium webdriver版本-2.52.0 同样的测试用例在windows操作系统和firefox中运行良好
我正在使用selenium测试脚本。我得到以下错误和这个错误随机发生。当我跑10次时,我会得到大约两次。所以它不是真的可复制的。有人知道为什么会这样吗?我试图单击的元素在浏览器中绝对可见,并且不会四处移动,因此不需要调整大小或拖动元素。我正在使用chrome webdriver,我阅读了其他故障排除策略(调试“Element is not clickable at point”错误),它们似乎与我
ConstraintViolationException在将无效调用放入控制器的contructor时引发: