2014-09-03 60 views
2

我对量角器中的自动化测试存在问题。量角器:在之前的点击后,测试失败,并显示browser.actions()

我有两个迭代:

it('first iteration', function(){ 
element.click() 
}); 

it('second iteration', function(){ 
// move mouse to specific position and click on it 
browser.actions().mouseMove({x: 5, y: 5}).click().perform(); 
}); 

如果我单独运行的每一个,它的作品完美,但如果我运行2次迭代,第二个行动从未发生过。

我错过了什么,或者这是一个问题?

编辑1:

我有一个beforeEach其中i '干净' 每次迭代和其中i初始化每次我的页面对象。

beforeEach(function() { 
    browser.clearMockModules(); 
    browser.manage().deleteAllCookies(); 
    browser.ignoreSynchronization = false; 
    browser.manage().window().maximize(); 
    pageModule = new PagePO(); 
}); 

我测试的是改变了一个不同的元素值滑块,所以我需要将鼠标移动到滑块一个特定的点,然后点击那里。

干杯

+0

你能提供您量角器文件?你是否使用了一个修改页面的'beforeEach'?也许你的测试目标有一些背景? – 2014-09-03 12:56:09

+0

Adlen Afane我用我的beforeEach更新我的问题。我的量角器文件非常简单。类似: exports.config = { seleniumAddress:的 'http://本地主机:4444/WD /集线器', 规格:[ 'spec.js'], 能力= { browserName: '铬', chromeOptions :{ args:['test-type'] } } } – pedroto 2014-09-03 14:11:44

+0

'第二个动作从未发生'会发生什么?没有?错误消息? – nilsK 2014-09-04 07:22:09

回答

0

OK,我们发现了这个问题。

似乎动作mouseMove,从鼠标的最后位置开始移动鼠标。我假设起始位置始终是0,0但事实并非如此。

在这种情况下,我想在位置0,0元素的点击所以解决了这种方式:

browser.actions().mouseMove(element).click(); 

干杯

+5

我应该这样做:'browser.actions()。mouseMove(element).click()。perform()' – 2015-09-11 18:26:55

相关问题