为什么我们不能在Selenium IDE中记录所有测试用例,将其导出到Java/WebDriver中,并在Eclipse中使用WebDriver运行它?
我需要一个清晰的解释,因为我在使用WebDriver时非常困惑!
还有谁能解释一下为什么IDE记录的脚本在WebDriver中失败?
我需要一个清晰的解释,因为我在使用WebDriver时非常困惑!
还有谁能解释一下为什么IDE记录的脚本在WebDriver中失败?
a = driver.find_element_by_id("a")
b = driver.find_element_by_id("b")
assert_equal(a.text, b.text)
这段代码需要4次往返:每个find_element...
都需要一次往返,每个对text
字段的访问也需要一次往返。同样的测试可以这样编写:
a_text, b_text = driver.execute_script("""
var a = document.getElementById("a");
var b = document.getElementById("b");
return [a.textcontent, b.textContent];
""");
assert_equal(a_text, b_text);
如果你是一个新手,你实际上可以使用80%的IDE脚本作为你的webdriver JAVA脚本,你只需要稍微改进一下你导出的IDE脚本就可以了。
但是当你开始测试复杂的功能时,你必须学习一些基本的Java方法来解决问题!
Webdriver允许您在Selenium服务器或通过RC到多个服务器上执行使用Selenium IDE捕获的测试用例。这包括与支持Selenium的提供商集成的选项(请参见底部链接)。
例如,如果您已经在IDE中捕获了测试用例,您可以轻松地与自己的Selenium服务器或像Saucelabs这样的提供商集成,以处理在Ubuntu上的Firefox,OSX上的Safari和Windows 8上的IE10中运行测试用例。与任何测试用例一样,您可以从IDE(Eclipse / IDEA /等),构建器(maven / gradle /)和/或通过CI系统运行它。
查看https://saucelabs.com/selenium获取一些示例。我们还将我们的Selenium测试用例用于Soasta的负载测试-WebDriver允许在许多不同的上下文中使用简单的IDE测试。