硒和采摘者打架?

2024-09-28 22:19:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python创建一个selenium测试,结果却不一致。在

我的测试片段是:

    el = self.waitButton('edit') # wait for load of show page to complete.
    # check some fields
    els = browser.find_elements_by_xpath("//span[@class='info']")
    assert els[0].text == '2'
    assert els[1].text == "George's"
    assert els[2].text == 'Organisation'
    assert els[5].text == '25/Mar/15'
    el.click() # request for edit screen
    el = self.waitButton('save') # returns save button when edit screen loaded.
    x = browser.find_element_by_name('Status')
    # x.click()  # uncomment this line and the click two lines down is ignored
    el = browser.find_element_by_xpath("//a[@class='save']") # re-find save button
    el.click()  # this field is selected, but the click action does not happen
    el = self.waitButton('edit')  # wait for edit button to appear
    els = browser.find_elements_by_xpath("//span[@class='info']")
    assert els[5].text == '25/Mar/15'

首先要注意的是,非常相似的代码在其他三个测试中100%有效,在不包含日期选择器的页面上字段。如果我将datapicker字段的类更改为datepickerXX此屏幕按预期工作。在

但是,当datepicker处于活动状态时,如果我点击任何数据字段(不一定是datepicker字段),那么我以后就不能点击“save”按钮了????在

所以我的问题是,如果我不能保存一个包含使用了datepicker的字段的编辑屏幕,如何可靠地测试它?有人知道(或喜欢猜测)可能发生的事情,以及失败的原因吗?在

谢谢

伊恩


Tags: textselfbrowserforbysaveassertfind
1条回答
网友
1楼 · 发布于 2024-09-28 22:19:55

我的代码有两个错误。在

1)在其他地方,我有一个定时计时器-我在等待前一个屏幕上的某个正确的东西,因此等待有时会发生,有时不会等待新屏幕。在

2)单击“选择字段”或其中的选项卡时,浏览器(FF)将显示一个选择列表。Selenium和浏览器都知道这一点——他们只是不同意何时再次隐藏选择列表。如果单击其他字段,浏览器将隐藏它。Selenium需要点击一个选择,如果没有的话就会陷入混乱。在

一旦我把这两个问题都解决了,所有的测试都按要求工作。在

相关问题 更多 >