我有一個Selenium Webdriver的問題。我正在運行鍼對Web應用程序的自動測試,並進行測試以檢查元素的可見性。當我在CLI
中運行同一行腳本時,找到該元素,並且is_displayed()
返回「TRUE」,但當我通過Python IDE將其與其他測試用例一起運行時,is_displayed()
返回False
。Selenium Webdriver測試元素可見性的假陰性結果?
我試過隱式和顯式等待,但等待不是問題,並且元素已經加載。
下面是測試案例在我的測試腳本:
def test_image_element_icon_is_displayed(self):
self.assertTrue(self.driver.find_element_by_css_selector("#Image").is_displayed(),msg="Image is not displayed")
這是我的腳本在運行CLI:
driver.find_element_by_css_selector("#Image").is_displayed()
有什麼辦法,我可以防止這種假陰性?也許改變我目前使用的元素選擇器?
這裏是我的圖片元素的HTML:
<div ng-click="applyDataElement(toolbarButton.type, toolbarButton.id)" class="frame-click ng-scope" ng-repeat="toolbarButton in toolbar">
<div class="frame-box" ng-attr-id="{{toolbarButton.id}}" id="Image">
<div class="draggable-box">
<div bind-html-unsafe="toolbarButton.icon" class="draggable-icon ng-binding"><i class="fa fa-picture-o"></i></div>
<div class="draggable-label ng-binding">Image</div>
</div>
</div>
</div>
你能提供的元素的某些'html'? – Saifur 2015-04-05 22:31:47
這裏的目的是什麼?帶文字的'div'*圖片*?或具有ID *圖像*的'div'? – Saifur 2015-04-05 22:38:48
@Saifur與圖像編號 – Mahmor 2015-04-05 22:43:01