selenium之RemoteWebDriver远程测试

来源:互联网 发布:中国软件杯大赛 编辑:程序博客网 时间:2024/06/05 09:11

RemoteWebDriver简介

RemoteWebDriver包括两部分:客户端和服务端

   1)客户端就是我们要运行测试用例

   2)服务端就是我们起的服务

RemoteWebDriver优缺点 

RemoteWebDriver使测试用例和被测的浏览器可以不用部署在同一台机子上,比如当前运行测试用例的本地没有浏览器a,你又想用a去跑,可以通过发送远程命令到远程有      a浏览器的测试机去跑,省在搭环境,但缺点是从远端服务端发送来的字符串可能存在结尾符号不兼容问题,还有就是会增加网络延时。

RemoteWebDriver环境搭建

1)RemoteWebDriver服务端

      从官网下载selenium server 下载连接:http://www.seleniumhq.org/download/

       我本身当时用的selenium版本是2.48,所以下载server也是2.48,包名称为selenium-server-standalone-2.48.2.jar 放到服务端

       命令行启动 java -jar selenium-server-standalone-2.48.2.jar -port 4446 默认是4444,出现如下信息,启动成功!

             

2)RemoteWebDriver 客户端

     RemoteWebDriver没有实现TakesScreenshot类,如果浏览器本身的driver具备截图功能可以通过TakesScreenshot接口的Augmenter类间接完成
     Firefox driver本身具备截图功能,参考代码如下

   public static void main(String[] args) throws IOException {// TODO Auto-generated method stubWebDriver driver = new RemoteWebDriver(new URL(serverUrl),DesiredCapabilities.firefox());driver.get("https://passport.csdn.net/account/login");System.out.println("开始");WebDriver augmentedDriver = new Augmenter().augment(driver);File screenshot = ((TakesScreenshot) augmentedDriver).getScreenshotAs(OutputType.FILE);FileUtils.copyFile(screenshot, new File("11.png"));driver.quit();}

      运行后,指定机子成功借用了火狐浏览器并打开csdn登录页面、截图,服务端日志如图