【发布时间】:2015-04-05 22:20:41
【问题描述】:
我遇到了 Selenium Webdriver 的问题。我正在针对 Web 应用程序运行我的自动化测试,并进行测试以检查元素的可见性。当我在CLI 中运行同一行脚本时,找到了该元素并且is_displayed() 返回“TRUE”,但是当我通过我的Python IDE 与其他测试用例一起运行它时,is_displayed() 返回False。
我尝试了隐式和显式等待,但等待不是问题,并且元素已经加载。
这是我的测试脚本中的测试用例:
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()
有什么方法可以防止这种假阴性吗?也许更改我当前使用的元素选择器?
这是我的 Image 元素的 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的元素吗? -
这里的预期元素是什么?
div带有文本 Image?或者divid image? -
@Saifur 带有图像 id 的 div
标签: python selenium selenium-webdriver ui-testing