在将一些样品测试/规格从Watir转换为Selenium方面,我做得有点深入在我的最后一个问题和建议的回答之后,我开始使用selenium 2.0和webdriver,而不是selenium 1。
这个例子涉及到将一个表中的所有链接收集到一个数组中——这一部分已经完成了。但是,一旦链接在数组中,我可以与它们交互的唯一有意义的方式似乎是.text使用@driver.navigate.to数组[1]会在浏览器中产生URL格式错误,并且link.ref或.src不是有效选项。
watir实现收集这些链接(用户通过cms添加的页面),将它们存储在一个数组中,然后逐个访问每个页面,提交一个lead表单。我相信我可以使用Selenium来实现这一点,并重新访问“主页”页面,该页面包含了lead表单提交之间的所有链接,但这可能意味着要加载数百个额外的页面,不管是否缓存。
目前为止的准则是:
'@countries=数组.new
@browser.navigate.to "http://www.testingdomain{$env}.com/global"
@browser.find_elements(:xpath, "//table[@class='global-list']//a").each do |link|
@countries << [link.text, link.href] ## The original WATIR line that needs an update
end #links
@countries.uniq! #DEBUG for false CMS content'
在SeleniumWebDriver文档中,我能找到的最接近的项是(string).attribute方法,但同样,我不确定哪些属性
最佳答案
我不确定用于attribute方法的格式,但经过一些实验后,我可以跳过这一步。@countries = Array.new
@browser.navigate.to "http://www.testingdomain{$env}.com/global"
@browser.find_elements(:xpath, "//table[@class='global-list']//a").each do |link|
text = link.attribute("text")
href = link.attribute("href")
@countries << [text, href]
end #links
`@countries.uniq! #DEBUG for false CMS content