2017-03-13 48 views
1

我正在驗證並點擊角度頁面上彈出窗口的元素與量角器。問題是驗證失敗隨機。量角器:驗證彈出元素隨機失敗

我的spec文件:

describe('... 
    it('... 
     // initialize page object 
     var home = new homePage(); 

     // hover over the shopping cart icon 
     browser.actions().mouseMove(home.shoppingCartLink).perform(); 

     // pause browser for 4 sec 
     browser.sleep(4000); 

     // initialize page object 
     var shoppingCartPreview = new shoppingCartPage(); 

     // hover over the shopping cart preview window 
     browser.actions().mouseMove(shoppingCartPreview.window).perform(); 

     // verify elements are displayed 
     expect(shoppingCartPreview.shopName.isDisplayed()).toBeTruthy(); 
     expect(shoppingCartPreview.price.isDisplayed()).toBeTruthy(); 
     expect(shoppingCartPreview.delete.isDisplayed()).toBeTruthy(); 

     // click on "Checkout" button 
     shoppingCartPreview.checkoutButton.click(); 
    }); 
}); 

由於wtritten,問題是,所有的驗證,我得到falsy而不是truthy。我做錯了什麼?

我即使沒有成功以下嘗試:

// waiting for elements to be visible 
browser.wait(EC.presenceOf(shoppingCartPreview.popUpWindow),10000); 
browser.wait(EC.presenceOf(shoppingCartPreview.shopName),10000); 
browser.wait(EC.presenceOf(shoppingCartPreview.price),10000); 
browser.wait(EC.presenceOf(shoppingCartPreview.delete),10000); 
+0

在找到了解決辦法:http://stackoverflow.com/questions/25062748/testing-the-contents-of-a-temporary-element-with-量角器/ 32076359#32076359 – jurijk

回答

2

的問題是 - 你正在等待 - presenceOf()這隻能檢查DOM元素的存在,因此它總是會返回true是否你彈出窗口可見或不可見。

你需要等待這樣利用visibilityOf() - browser.wait(EC.visibilityOf(shoppingCartPreview.popUpWindow), 5000)

+0

我很慚愧!我把它用於微調,但並不認爲我也可以用它來做這件事。謝謝! – jurijk

+0

@jurijk ..很高興它工作.. – AdityaReddy