gpt4 book ai didi

angularjs - Protractor + chrome 驱动程序 : Element is not clickable at point

转载 作者:行者123 更新时间:2023-12-03 08:44:09 26 4
gpt4 key购买 nike

嗨,我在进行基本的 Protractor 测试时遇到了一些麻烦。

我的设置:

  • 我使用 requirejs,所以我使用 angular.bootstrap() 初始化 angular,而不是 ng-app attr。根据 Protractor 文档,这不是开箱即用的,但似乎适用于不涉及点击的测试。
  • Protractor conf.json:
    "use strict";
    exports.config = {
    specs: '../E2ETests/**/*.js',
    chromeOnly: true,
    getPageTimeout: 30000,
    allScriptsTimeout: 30000
    }
  • 我使用了一些包含在指令中的第三方 jquery 插件,我怀疑这些可能是问题的一部分。

  • 测试:
    "use strict";
    describe('When clicking should add stuff', function () {
    var ptor;
    beforeEach(function () {
    browser.get('https://localhost/myApp');
    ptor = protractor.getInstance();
    });
    it('add stuff', function () {
    // If I comment this, the test pass.
    element(by.id('add-stuff-button')).click();
    // This does not matter fails on the line above..
    expect(browser.getTitle()).toBeDefined();
    });
    });

    错误:
    UnknownError: unknown error: Element is not clickable at point (720, 881). Other element would         receive the click: <div class="col-md-5 col-md-offset-5">...</div>
    (Session info: chrome=37.0.2062.124)
    (Driver info: chromedriver=2.10.267521,platform=Windows NT 6.1 SP1 x86_64)

    感想

    chromedriver 确实找到了按钮,因为如果我更改 id,它会提示找不到元素。所以我认为问题在于按钮从其初始位置移动。由于 element(***) 函数应该等待 angular 完成,我怀疑它的第三方插件可能会干扰,因为它们可能不使用 angular api 的获取数据等。所以 angular 认为它完成了,然后第三方插件填充和移动东西。

    任何想法该怎么做?
    如果第三方插头是问题,我能否以某种方式告诉 angular 第三方的东西正在发生,然后在完成后告诉它?

    谢谢

    时间

    最佳答案

    您应该在配置文件中设置窗口大小

    onPrepare: function() {
    browser.manage().window().setSize(1600, 1000);
    }

    关于angularjs - Protractor + chrome 驱动程序 : Element is not clickable at point,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26211751/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com