软件测试技术Lab2——selenium和WebDriver使用
一、安装selenium IDE
在firefox浏览器中安装selenium,要注意版本的兼容性。
本文使用firefox 43版本,selenium插件下载地址:https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/
如图:点击 “Add to Firefox”,下载安装重启firefox即可。
二、使用SeleniumIDE录制脚本和导出脚本
1.录制脚本
打开selenium插件:
选择要开始操作的根路径,这里选择http://www.baidu.com/,点击红色的录制按钮,图中已经打开。之后进行你所需要的操作,操作完成后再次点击录制按钮结束录制。
点击"play current test case"即可自动重复之前的操作。
2.导出脚本
依次选择"文件"->"Expect Test Case As..."->"Java/Junit/WebDriver"即可保存为java类型的文件。
三、实验代码
//建立csv文件读取对象 CsvReader r = new CsvReader("D://data//inputgit.csv", ',',Charset.forName("utf-8")); r.readHeaders(); while (r.readRecord()) { String id = r.get("id"); String password = id.substring(4); String address = r.get("address"); driver.get(baseUrl + "/"); driver.findElement(By.id("name")).clear(); driver.findElement(By.id("name")).sendKeys(id); driver.findElement(By.id("pwd")).clear(); driver.findElement(By.id("pwd")).sendKeys(password); driver.findElement(By.id("submit")).sendKeys(Keys.ENTER); WebElement text = driver.findElement(By.cssSelector("#table-main tr:last-child td:last-child")); String address0 = text.getText(); assertEquals(address,address0); } r.close(); }
注意:这里没有使用@parameters方法实现多次测试,因为初始化参数的函数必须为静态function,和参数需要使用WebDriver在页面中提取,所以在定义WebDriver类时,必须定义为static,但实验表明此方法在使用driver.get()等函数时报错。如果将WebDriver的定义放到初始化参数的函数内,则其他的函数例如:Before() After()无法调用,因此使用上述代码的循环形式来测试。
最终测试结果表明csv文件中的git地址和网页中的一致。
完整代码请参见:https://github.com/tong8080/SoftwareTest2