请举例说明使用selenium进行混合驱动和关键字驱动。提前谢谢!
答案 0 :(得分:0)
从未听说过混合驱动测试,您可能指的是测试hybrid applications。
混合应用程序(混合应用程序)是一个结合了元素的应用程序 本机和Web应用程序。开发本机应用程序 用于特定平台并安装在计算设备上。卷筒纸 应用程序是针对多个平台而推广的,未安装 本地但通过浏览器在互联网上提供。混合动力 应用程序通常在移动计算环境中被提及。
关于Keyword driven testing,每个关键字对应于单独的测试操作,如鼠标单击,菜单项选择,击键,打开或关闭窗口或其他操作。关键字驱动的测试是一系列操作,采用关键字格式,模拟测试应用程序上的用户操作。
答案 1 :(得分:0)
以下是一个简单的混合(模块和数据驱动)框架类 -
SearchData.java
是否有要在测试中使用的数据代码。
package com.data;
public class SearchData {
private String url;
private String searchWord;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getSearchWord() {
return searchWord;
}
public void setSearchWord(String searchWord) {
this.searchWord = searchWord;
}
}
SearchPage.java
包含代码模块。
package com.page;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import com.data.SearchData;
public class SearchPage {
WebDriver driver;
public SearchPage(WebDriver driver) {
this.driver = driver;
}
public void launchGoogle(SearchData searchData) {
driver.get(searchData.getUrl());
}
public void search(SearchData searchData) {
driver.findElement(By.name("q")).sendKeys(searchData.getSearchWord());
driver.findElement(By.name("btnG")).click();
}
}
GoogleTest.java
包含实际的Junit测试。
package com.test;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import com.data.SearchData;
import com.page.SearchPage;
public class GoogleTest {
protected WebDriver driver;
@Before
public void setUp() {
driver = new FirefoxDriver();
}
@After
public void tearDown() {
driver.close();
driver.quit();
}
@Test
public void searchTest() throws InterruptedException {
// set the data
SearchData searchData = new SearchData();
searchData.setUrl("https://www.google.com");
searchData.setSearchWord("Selenium");
// call the methods
SearchPage searchPage = new SearchPage(driver);
searchPage.launchGoogle(searchData);
searchPage.search(searchData);
Thread.sleep(10000);
}
}
以上代码非常基础,可以在很大程度上得到增强。
关键字驱动框架使用SELENIUM IDE / ROBOT FRAMEWORK。