使用 Selenium-rc 获取确认窗口

发布于 2024-10-21 16:20:30 字数 808 浏览 2 评论 0原文

我正在运行一个 selenium 服务器(v.2.0b2)并编写一个 python 脚本来在我的 web 应用程序上运行测试套件。

from selenium import webdriver
import selenium

selenium = selenium.selenium('127.0.0.1', 3333, '*firefox', 'http://localhost/')
selenium.start()
profile = webdriver.FirefoxProfile('selenium')
browser = webdriver.Firefox(profile)
browser.get('http://localhost:8080/index.html?no_auto_login=1')

我有一个登录按钮,会弹出一个确认对话框,但在弹出之前需要在服务器之间往返一次。

submit_button = browser.find_element_by_css_selector('#btnSubmit')
submit_button.click()
alert = browser.switch_to_alert()
assert alert.text == 'Server Login Error...'
alert.accept()

注释掉submit_button.click()之后的项目,然后调用 selenium.is_confirmation_present() 返回 false

我如何等待确认框可见?为什么 selenium.is_confirmation_present() 不返回 true?

I'm running a selenium server (v.2.0b2) and writing a python script to run a test suite on my webapp.

from selenium import webdriver
import selenium

selenium = selenium.selenium('127.0.0.1', 3333, '*firefox', 'http://localhost/')
selenium.start()
profile = webdriver.FirefoxProfile('selenium')
browser = webdriver.Firefox(profile)
browser.get('http://localhost:8080/index.html?no_auto_login=1')

I have a login button that pops up a confirmation dialog, but it takes a round trip the the server and back before it pops up.

submit_button = browser.find_element_by_css_selector('#btnSubmit')
submit_button.click()
alert = browser.switch_to_alert()
assert alert.text == 'Server Login Error...'
alert.accept()

commenting out the items after submit_button.click() and then calling
selenium.is_confirmation_present()
returns false

How can I wait for the confirmation box to be visible? Why doesn't selenium.is_confirmation_present() return true?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

書生途 2024-10-28 16:20:30

我没有使用过 Selenium 2.0(网络驱动程序),但建议您使用 Thread.sleep(10) 进行测试。如果这有效,那么这意味着您的情况需要有条件等待。

I have not worked with Selenium 2.0 (web driver) but would suggest you to test this with Thread.sleep(10). And if that works then it means conditional wait in required in your case.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文