① selenium 怎么使用java编写测试用例
control-1.0.1-dist.zip。 解压。2. 用命令行来到解压的文件夹下: \selenium-remote-control-0.9.2\selenium-server-0.9.23. 运行: java -jar selenium-server.jar 启动selenium server (务必启动!!)4. 在Eclipse创建一个项目,在项目的build path里面加上junit.jar和selenium-java-client-driver.jar(这个在刚解压的包里面)5. 先利用firefox selenium IDE来录制检测页面检测功能用的junit代码。6. 在项目里面新建一个class(junit用例):将上面的junit代码帖于此。7. 根据eclipse的错误提示来增加相应要import的类8. 在进行测试前,最好将对应浏览器关闭,否则容易出错。9. 然后在Eclipse里运行 “Run As -> unit Test”即可看到自动化的范例.10.运行期间,会弹出ie窗口,自动进 行操作测试。检测完后,若junit显示为“绿色”则表示成功。下面粘贴一下那个测试小程序import com.thoughtworks.selenium.SeleneseTestCase;public class Untitled extends SeleneseTestCase { public void setUp() throws Exception {//由于selenium 对*firefox不支持3.6版本的.只能支持3.0版本.所以,最好将selenium IDE录制的代码中的firefox改为ie进行测试。//setUp("http://www.google.cn/", "*firefox");setUp("http://www.google.cn/", "*iexplore");}public void testUntitled() throws Exception {selenium.open("/");selenium.type("q", "");selenium.click("btnG");selenium.waitForPageToLoad("30000");selenium.click("link= 网络一下,你就知道");//添加断言进行测试:// assertTrue(selenium.isTextPresent("OpenQA: Selenium")); //测试出错,程序退出assertTrue(selenium.isTextPresent("网络一 下,你就知道")); //测试成功,程序继续 }//用于让测试的页面关闭.若不写,则页面不会关闭public void tearDown() throws Exception {selenium.stop();}}(7)7.1selenium 常用操作有:open,type,click,select,selectFrame:1. open("/")打开的是当前的网址;selenium.open("/dmmc/"):在当前的网址后面追回/dmmc/;2. type,click,select,selectFrame各方法使用时,对元素的定位都可采用元素ID 或 xpath方式;3. type,click,select,selectFrame去选择元素时,可以直接用元素的ID作为标 记. 4. 如:selenium.type("loginName", "coship");;采用xpath方式时,则格式如://元素名1[元素属性名1='元素属性值1']/元素名2[元素属性名2='元素 属 性值2']/….如:selenium.type("//input[@name='admin.password']", "coship")7.2常用命令用法:1)type的两种不同定位方式:selenium.type("loginName", "coship");//以下语句的"xpath="可以省略selenium.type("xpath=//input[@name='admin.password']", "coship");2)click的两种不同定位方式:selenium.click("imageField"); 即是通过ID定位:<input type="submit" value=" " id="imageField">selenium.click("//input[@type='submit']"); (通过属性input-type)selenium.click("//input[@value='确定']"); (通过属性input-value)selenium.click("//input[@name='devTypeIds' and @value='000002']") (还可通过属性@id)3)点击链接方式:对于动态内容的获取,尽量避 免采用第一种方式(若内容变了,则出错),而采用第二种方式.实现方式一:点击链接:<a href=..>801830456628</a>selenium.click("link=801830456628");实现方式二:获取id=adminList的table中的tbody下的第三行,第二列中的a href元素。selenium.click("//table[@id='adminsList']/tbody/tr[3]/td[2]/a");4)选 择下拉框:实现方式一:selenium.select("status", "label=启用");即 是:<select id="status"><option value="1">启用</option></select>实现方式二:selenium.select("xpath=//SELECT[@id='status']", "index=1"); 具体应用,请见以下实例。7.3实例:用于检测abmc系统各模块功能是否正常。方式:用selenium IDE录制abmc系统各模块功能操作.(前提是:这些操作,这些功能都是正确成功),以后当abmc系统升级,更改后,即可运行此脚本,来检查升级是否 影响系统功能实现。若系统更改有错,则selenium中运行中某一步骤时,会出错退出。如:系统更改后导致某一页面打不开,这时 selenium运行到此页面时,就不能继续往下操作,就会出错而退出。注意:1.同时,也可在测试代码中添加一些断言判断来判断成功,失败。2.对于firefox selenium IDE录制的脚本要进行适当的修改,尽量让selenium用元素ID来定位操作元素,而不通过元素名(元素名易变化)。3.若selenium RC检测代码出错,也不一定是系统升级有问题,可能是系统升级后,有些数据删除,修改了,selenium RC在回放操作时,找到原来录制时对应的数据而出错。具体代码如下://对于click,select,selectFrame去选择元素时,可以直接用元素的ID作为标记.// 如:selenium.click("元素ID");public class AbmcSeleniumTest extends SeleneseTestCase {public void setUp() throws Exception {setUp("http://192.31.52.103:8080/", "*iexplore");}public void testUntitled() throws Exception {selenium.open("/abmc/");//type的两种不同定位方式selenium.type("loginName", "coship");//以下语句 的"xpath="可以省略selenium.type("xpath=//input[@name='admin.password']", "coship"); // selenium.click("imageField"); 即是通过ID 定位:<input type="submit" value=" " id="imageField">selenium.click("//input[@type='submit']"); //等待一个新的页面加载。 以毫秒为单位,超过后该命令将返回错误。 selenium.waitForPageToLoad("30000"); //即选择<frame src="device/index.jsp" id="mainFrame">selenium.selectFrame("mainFrame");//对于动态内容的获取,尽量避免采用第一种方式 (若内容变了,则出错),而采用第二种方式//点击链接:<a href=..>801830456628</a>// selenium.click("link=801830456628"); //实现方式二:获取id=adminList的table中的tbody下的第三行,第二列中的a href元素。selenium.click("//table[@id='adminsList']/tbody/tr[3]/td[2]/a");selenium.waitForPageToLoad("30000");selenium.click("//input[@value=' 返回']");selenium.waitForPageToLoad("30000");//因为有多个“查看应用列表”,若不指定,默认获取第一个selenium.click("link=查看应用列表");selenium.click("btn_dsure");// 方式一://selenium.click(" //a[@onclick=\"showPage('应用列表','deviceAppList.action?device.swType=2&device.deviceId=0000257&device.deviceName=801830456628&device.specName=DevTyp',750,400)\"]");//方式二:selenium.click("//table[@id='adminsList']/tbody/tr[3]/td[5]/span[1]/a");selenium.click("btn_dsure");selenium.selectFrame("relative=up");selenium.selectFrame("leftFrame");selenium.click("link=应用文件管理");selenium.click("link=应用文件信息");selenium.selectFrame("relative=up");selenium.selectFrame("mainFrame");selenium.click("//a[@onclick=\"showPage('匹配终端类型','appTypeList.action?application.appId=01&application.appName=maliao',750,400)\"]");selenium.click("btn_dsure");selenium.click("//table[@id='adminsList']/tbody/tr[7]/td[8]/span[2]/a");selenium.waitForPageToLoad("30000");selenium.click("//input[@name='devTypeIds' and @value='000002']");selenium.click("//input[@value='确定']");selenium.waitForPageToLoad("30000");selenium.click("//a[@onclick=\"showPage('匹配终端类型','appTypeList.action?application.appId=01&application.appName=maliao',750,400)\"]");selenium.click("btn_dsure");selenium.selectFrame("relative=up");selenium.selectFrame("leftFrame");selenium.click("link=终端应用管理");selenium.click("link=终端应用许可");selenium.selectFrame("relative=up");selenium.selectFrame("mainFrame");// selenium.select("status", "label=启用"); 即是:<select id="status"><option value="1">启 用</option></select>selenium.select("xpath=//SELECT[@id='status']", "index=1"); selenium.click("//input[@type='image']");selenium.waitForPageToLoad("30000");selenium.click("//input[@type='image']");selenium.waitForPageToLoad("30000");selenium.selectFrame("relative=up"); //即 选择<frame src="device/index.jsp" id="mainFrame">selenium.selectFrame("topFrame"); selenium.click("link=注销"); //若要测试其 它的网页,可以继续selenium.open(..)}}#web测试技术
② selenium java爬虫怎么用
1.打开终端,切换到selenium-server-standalone所在的目录2.执行java -jar selenium-server-standalone-3.2.0.jar -role hub -maxSession 40 -port 44443.启动成功
③ 如何搭建selenium和java环境
1、安装、配置JDK1.6配置JAVA_HOME右击我的电脑–>属性–>高级系统设置–>高级–>环境变量在Path中增加%JAVA_HOME%\bin;2、Java IDE中引用selenium-java-2.40.0.jar,selenium-server-standalone-2.40.0.jar项目目录右键–>Build Path–> config build path–>Java BuildPath–>Libraries–>Add External JARs,添加selenium-java-2.40.0.jar,selenium-server-standalone-2.40.0.jar3、拷贝chromedriver.exe到system32目录,安装chrome浏览器4、测试环境是否搭建成功1234567891011121314 import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class test1 { public static void main(String[] args) throws InterruptedException { WebDriver dr = new ChromeDriver(); dr.get("http://www..com"); //打开首页 dr.manage().window().maximize(); //最大化 Thread.sleep(3000); dr.quit(); } }
④ selenium webdriver java需要学哪些java知识
1. Selenium Webdriver Java 最大化浏览器窗口。System.setProperty("webdriver.firefox.bin","D:/MozillaFirefox/firefox.exe");WebDriver driver = new FirefoxDriver();driver.manage().window().maximize(); 参考文章:http://xebee.xebia.in/2012/04/06/maximize-browser-window-in-selenium-web-driver/2. Selenium Webdriver java 浏览器中前进,后退,刷新操作。System.setProperty("webdriver.firefox.bin","D:/MozillaFirefox/firefox.exe");WebDriver driver = newFirefoxDriver();driver.manage().window().maximize();driver.get("http://www.google.com.hk");driver.navigate().forward();// 前进driver.navigate().back();// 后退driver.navigate().refresh();// 刷新 3.WebDriver的几个实现:Name ofdriver Available on whichOS? Classto instantiate HtmlUnit Driver All org.openqa.selenium.htmlunit.HtmlUnitDriver Firefox Driver All org.openqa.selenium.firefox.FirefoxDriver Internet Explorer Driver Windows org.openqa.selenium.ie.InternetExplorerDriver Chrome Driver All org.openqa.selenium.chrome.ChromeDriver (1)HtmlUnitDriver是纯java的驱动器,全部在内存中运行,不会实际打开浏览器,但其速度很快。 (2)Firefox Driver:速度慢。 4. TestNG实例:http://blog.csdn.net/yuxinlong2006/article/details/6765522http://magustest.com/blog/automationtesting/webdriver-testng/WebDriver+TestNG+ANT 实现多浏览器兼容性测试http://www.51testing.com/?uid-375957-action-viewspace-itemid-8179425. Webdriver 针对iframe中的元素定位Selenium2在使用get()方法打开一个网页的时候,是不会继续加载里面的iframe中的内容的(这一点与Selenium有所区别)。那么,我们就需要人为的要求Selenium2对iframe中的内容进行加载。例子一:driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@class='g-editor-iframe']"))); 例子二:driver.switchTo().frame(driver.findElement(By.id("SpFrame")));切换主页用getWindowHandle()方法可以快速的进行切换回主页:StringstrMainHandler = driver.getWindowHandle();driver.switchTo().window(strMainHandler);关于iframe中 元素定位和xpath,cssSelector定位可参考:http://blog.csdn.net/dancedan/article/details/74069426.Webdriver中操作下拉列表对下拉框进行操作时首先要定位到这个下拉框,new 一个Selcet对象,然后对它进行操作。参见:http://jarvi.iteye.com/blog/14508837.Webdriver 利用Actions类模拟鼠标和键盘的操作参考一:http://jarvi.iteye.com/blog/1468690参考二:http://www.51testing.com/?uid-368273-action-viewspace-itemid-8429108. Hudson + WebDriver组织自动化测试参见:http://www.51testing.com/?uid-350678-action-viewspace-itemid-8142259. Webdirver 利用actions 实现 mouseover方法Actionsbuilder =new Actions(driver);Actionsmousehover=builder.moveToElement(driver.findElement(By.xxx("***")));mousehover.perform(); 红色部分根据实际情况修改。10. webdriver 中 层级定位参见:http://jarvi.iteye.com/blog/144802511. webdriver 执行js脚本http://jarvi.iteye.com/blog/144775512. webdriver 等待页面加载完成http://jarvi.iteye.com/blog/145366213. 获取页面对象的属性值绿色为对象的属性 pk1=wd.findElement(By.xpath("//input[@id='public_key']")).getAttribute("value");System.out.println(pk1); 14. Webdriver 通过调用JavascriptExecutor使对象隐藏对象出现,操作对象。http://blog.sina.com.cn/s/blog_539a70d30101ajsg.html15.Selenium中webdriver的quit()和close()区别在关闭driver时用Driver.Quit();不要用Driver.Close();
⑤ selenium怎么用java运行
你可以看看这段代码
importjava.util.concurrent.TimeUnit;
importorg.openqa.selenium.*;
importorg.openqa.selenium.chrome.ChromeDriver;
importorg.openqa.selenium.firefox.FirefoxDriver;
publicclassTest{
staticThreadthread=newThread();
publicstaticvoidmain(String[]args){
System.setProperty("webdriver.gecko.driver",
"D:\selenium-server-standalone\geckodriver.exe");//启动谷歌浏览器的路径
WebDriverdriver=newFirefoxDriver();
driver.get("http://www..com");//输入要打开的网站
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);//等待10S
if(driver.findElement(By.id("kw")).isEnabled()){
System.out.println("网络文本框可以输入");//定位到kw网络文本框可以使用
driver.findElement(By.id("kw")).sendKeys("selenium");//定位到kw元素,然后输入selenium
driver.findElement(By.id("su")).click();//点击su元素
}else{
System.out.println("网络文本框不可以输入");//如果定位不到kw元素,网络文本框不可以输入
}
try{
thread.sleep(5000);
}catch(Exceptione){
System.out.println("错误");
}
}
}
⑥ 如何进行selenium+Java自动化测试配置
建议从基础开始,依次是:SELENIUM1(IDE、grid、rc、core),然后是selenium2(Webdriver),当然基础的java编程能力是必不可少的,然后就要实际多动手练习了
⑦ selenium2 java视频教程
很多机构网站都有java教程下载页面的,比如动力节点这个,我经常去下载学习,还有很多资源。
⑧ 用java怎么编写selenium脚本
1、control-1.0.1-dist.zip。 解压。
2. 用命令行来到解压的文件夹下: selenium-remote-control-0.9.2selenium-server-0.9.2
3. 运行: java -jar selenium-server.jar 启动selenium server (务必启动!!)
4. 在Eclipse创建一个项目,在项目的build path里面加上junit.jar和selenium-java-client-driver.jar(这个在刚解压的包里面)
5. 先利用firefox selenium IDE来录制检测页面检测功能用的junit代码。
6. 在项目里面新建一个class(junit用例):将上面的junit代码帖于此。
7. 根据eclipse的错误提示来增加相应要import的类
8. 在进行测试前,最好将对应浏览器关闭,否则容易出错。
9. 然后在Eclipse里运行 “Run As -> unit Test”即可看到自动化的范例.
10.运行期间,会弹出ie窗口,自动进 行操作测试。检测完后,若junit显示为“绿色”则表示成功。