嗨,我在让基本量角器测试正常工作时遇到了一些麻烦。
我的设置:
"use strict"; exports.config = { specs: '../E2ETests/**/*.js', chromeOnly: true, getPageTimeout: 30000, allScriptsTimeout: 30000 }
考试:
"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完成,因此我怀疑它的第三方插件可能会干扰,因为它们可能不使用angularapi的获取数据等。因此,angular认为已完成,但随后是第三方插件填充并移动东西。
有什么想法怎么办?如果第三方插头出了问题,我可以以某种方式告诉角度第三方材料正在进行中,然后在完成时告诉它吗?
Thx Br Twd
您应该在配置文件中设置窗口大小
onPrepare: function() { browser.manage().window().setSize(1600, 1000); }