当前位置: 首页 > 知识库问答 >
问题:

指针点击功能并不总是有效

赖星驰
2023-03-14

我是量角器新手。我写了一个角度测试,首先用户登录应用程序,然后单击特定按钮来计算一个数字。有时它有效,有时不起作用!

代码如下:

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”,时间

我不知道是什么问题。谁能帮我吗?提前谢谢。

共有3个答案

吴高畅
2023-03-14

作为最后的手段,您可以使用javascript单击。请查看下面经过测试的代码。

var Home link = element(by . linktext(' Home '))。单击();browser . execute script(" arguments[0])。单击();",homelink);

严玉泽
2023-03-14

这是对Suresh Salloju上述答案的扩展,其中的解决方案是使用Protractor的API等待元素可点击,如下所示:

browser.wait(EC.elementToBeClickable(element), 10000,'Element not clickable');

在某些情况下,即使等待elementToBeClickable,也可能发生类似的异常。

在我的情况下,在某些屏幕尺寸下,Toast元素覆盖了问题中的元素 - 因此尽管它是可点击的,但它从未收到过点击。

冯开诚
2023-03-14

在执行单击操作之前,使用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时引发: