Selenium RC / Python / JavaScript .aspx /循环语句
Selenium RC / Python / JavaScript .aspx / Loop Statement
在过去的几个月里我一直在自学Python。我的第一个项目是使用Selenium RC web驱动框架的浏览器驱动测试用例(虽然没有在我的项目中导入webdriver,以免混淆)。基本上,我的测试用例需要钩入a '的刷新循环。使用JavaScript和HTML编写的aspx'页面。这个循环不断刷新这个.aspx
页,直到满足sel.is_text_present("foo")
条件。刷新后,直到定义的"文本"出现,脚本应该是click
一个JavaScript按钮,与is_text_present
字符串一起出现。在执行脚本时,Firefox打开并引导自己到特定的页面并输入其refresh loop
,但是当文本出现时(即.aspx
页面改变其状态并加载带有JavaScript按钮的JavaScript表),脚本不执行循环的另一个分支。下面的代码片段显示了我实现的逻辑:
i = sel.is_text_present("Schedule") #text that the test case is 'waiting' for
while i != True:
print i
print "Waiting for job..."
sel.refresh()
else:
print "Job found..."
sel.click("id=Select")
sel.wait_for_page_to_load("30000")
sel.click("id=1")
sel.wait_for_page_to_load("30000")
print "Success!"
test_py_s_f_t_c() #calls this function again to repeat the test case
我的循环语句的逻辑指示Firefox刷新,直到它检测到一个字符串的文本,然后在检测到这个字符串点击一个按钮?是否有可能在按钮id通配符如果按钮的名称是动态的和变化?
纯粹从逻辑上看,这是不正确的。刷新后没有检查文本是否存在
你可以这样写。
i = sel.is_text_present("Schedule") #text that the test case is 'waiting' for
while i != True:
print i
print "Waiting for job..."
sel.refresh()
i = sel.is_text_present("Schedule") #text that the test case is 'waiting' for
print "Job found..."
我只通过c# API使用了selenium,但是您可以尝试在单击函数
中使用xpath。sel.click("//输入(包含(@ id, partialId)] ");或者按钮取决于你使用的HTML类型
相关文章:
- for循环中的javascript if语句找不到==
- 循环通过数组的If语句不起作用
- 使用if语句重新循环
- for 循环和 if 语句,获取变量并存储它
- 使用javascript中的for循环和if语句
- 当使用return语句时,循环不会中断
- Javascript:用if语句运行while循环,用子句随机生成内容
- 在 for 循环中使用 if 语句
- 识别两个文本中的单词(if 语句在 for 循环中)
- for 循环中的 if 语句
- 如何使用for循环语句通过Ajax发送大数据数组
- ++ 在 While 循环语句中是什么意思
- 标签如何与非循环语句一起使用
- 如何在JavaScript中写出这个基本的循环语句?
- 试着写一个do-while循环语句来打印我的语句,但是它目前没有打印它
- Selenium RC / Python / JavaScript .aspx /循环语句
- 如何获取数组中多个文件的值而不需要任何循环语句
- 不能在同一个if语句中运行两个for循环语句
- 怎么样..循环语句在Javascript中工作?(ECMAScript 6)
- javascript中的循环语句没有按照预期的方式运行