2014-11-21 30 views
0

我试图创建在Django(使用Selenium)功能测试,以尽快为您在页面的酥料饼的网页加载:如何测试Django中的Bootstrap tour popover?

tool_tip = self.browser.find_element_by_css_selector('div.popover').text 
page = self.browser.find_element_by_tag_name('body').text 
self.assertIn(tool_tip, page) 

我曾尝试使用id找到酥料饼,和XPath 。然而,我一直得到相同的错误:

TypeError: argument of type 'WebElement' is not iterable 

有什么办法来测试引导旅游popover?

这是自举游览代码:

var tour = new Tour(); 

tour.addSteps([ 
{ 
    element : '#bio_panel_nav', 
    title  : 'Biography' , 
    content : 'Tell us a bit about yourself.', 
    placement : 'top' 
}, 

{ 
    element : '#net_panel_nav', 
    title  : 'Networks', 
    content : 'Link all your relevant social networks. ', 
    placement : "top" 
} 

]); 

tour.init().start(); 
+0

我只能建议你使用AngularJS,它有自己的内置测试框架。 https://docs.angularjs.org/guide/unit-testing – Zulu 2014-11-21 14:45:56

+0

'find_element_by_css_selector(div.popover')'缺少一个引用...'find_element_by_tag_name('body)'和另一个。不确定它会解决问题。 – rnevius 2014-11-21 14:48:26

回答

1

您应该能够使用is_displayed方法,像这样:

self.assertTrue(
    self.browser.find_element_by_css_selector('div.popover').is_displayed()) 

这将检查它实际上是可见的。您可能最终需要使用等待它显示的内容,因为在调用is_displayed时,显示它的JS可能尚未执行。