是否可以将web服务/ AJAX调用的结果存储到store元素中,以便可以在多个位置使用它的值。
原因是我们希望拥有一个使用数据库中定义的数据的自动化测试套件。这样可以更轻松地更改测试中的批量数据(而不是搜索我们所有的测试用例来更改数据)。
我知道我们可以在测试套件的开头创建一个测试用例来定义所有这些数据,但是,我们希望在不必重新键入每个值的情况下轻松地在数据集之间切换。
答案 0 :(得分:0)
我不确定你怎么能做你所要求的。学习会很酷。但是,让我给你一个非常简单的方法。我可以回答你的任何问题。在Selenium IDE中创建3个不同的命令以启动关闭,其中open命令的目标是您自动执行的页面的路径。
命令:打开
目标: - 路径 -
值:
命令:storeExpression
目标:123
值:var_number
命令:键入
目标:TextBox1
价值:$ {var_number}
然后使用Selenium IDE中的export选项作为Java代码(或其他语言)。你没有选项>格式>选项除非您在选项中启用“启用实验功能”。选择“JUnit 4(远程控制或RC)” - Selenium 1.我不熟悉“JUnit 4(WebDriver)” - Selenium 2,但它有点新,而且文档不多。然后下载Eclipse Classic,Java JDK,用于Java的Selenium客户端驱动程序(在Selenium站点上) - dll#1,并下载JUnit 4 - dll#2。在项目向导中创建新项目后,将这两个dll文件导入Library选项卡(在Eclipse classic中),并打开使用Selenium IDE格式导出导出的导出代码。 Eclipse应配置为默认自动编译代码。然后在Java代码中创建一个循环并重复上面的命令。然后从Java连接到您的数据库(使用一些简单的SQL连接代码),并从循环内的结果集中读取数据。然后右键单击Eclipse文件资源管理器并在单元测试中选择JUnit以启动Mozilla Firefox实例以使其自动循环。或者您可以启动任何其他浏览器来运行您的JUnit测试..只需将“* chrome”(又名Mozilla而非Google Chrome)更改为“* iexplore”(Internet Explorer)或“* googlechrome”(Google Chrome)等...对于您在Java代码中选择的浏览器。
请原谅我在“dll文件”上的行话。我的意思是编写程序集或库。在Java中,正确的术语是* .jar。我习惯用.NET代码编写代码。如果您选择在.NET中运行单元测试,那么您将需要重复上面的大部分内容,而是下载NUnit并使用Visual Studio而不是Eclipse。 JUnit的文档要好得多,所以这就是我走这条路的原因。该声明可能不正确。这就是我在为公司做概念验证时从观察中发现的真实情况。
哦,因为您正在使用客户端驱动程序,所以您需要将Java(JUnit Test)程序连接到Selenium远程控制服务器。所以你也必须下载Selenium服务器。然后从Windows中的命令行调用Jar。它必须在运行JUnit测试之前运行。除非您的计算机上安装了JDK,否则此服务器将无法运行!
java -jar selenium-server-standalone-2.0rc3.jar
答案 1 :(得分:0)
贡献的用户扩展名:http://wiki.openqa.org/display/SEL/global使用您应该能够使用的全局数组globalStoredVars。 我最近开始使用selenium和javascript测试多语言网站,请参阅Testing-a multilanguage website with selenium