您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
自动化基础普及之selenium是什么?
作者:网络转载 发布时间:[ 2014/9/22 11:34:07 ] 推荐标签:开源软件测试 Selenium

  Webdriver  如何组织和执行用例?
  对不起,webdriver 不会。
  把写好这些操作页面元素的方法(用例)组织起来执行并输入测试结果,是由编程语言的单元测试框架去完成的。如java 的junit和testng单元测试框架,python 的unittest单元测试框架等。
  Selenium RC 和WebDriver 什么关系?
  RC和 WebDriver 类似,都可以看做是一套操作web页面的规范。当然,他们的工作原理不一样。
  selenium RC 在浏览器中运行 JavaScript 应用,使用浏览器内置的 JavaScript 翻译器来翻译和执行selenese 命令(selenese 是 selenium 命令集合) 。
  WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。WebDriver 针对各个浏览器而开发,取代了嵌入到被测 Web 应用中的 JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了JavaScript 安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver 还利用操作系统级的调用模拟用户输入。
  看样子webdriver 更牛B一些。为了保持向兼容,所以selenium 2.0中,RC 和webdriver 并存,但说起selenium 2.0 一般指的是webdriver 。
  并行与分布式的区别
  有同学好奇如何并行的执行测试用例,并行要求“同时”执行多条用例,这个也是由编程语言的多线程技术实现的。
  你会问Selenium Grid 不是可以实现分布式执行么? 分布式的概念是写好一条用例可以调用不同的平台执行,如 A电脑上有一个测试用例,可以调用B电脑(linux)的 Firefox浏览器来跑A电脑上的测试用例;也可以调用C电脑(windows)的 Chrome浏览器来跑A电脑上的测试用例。这是分布式的概念。
  Selenium如何能做移动端测试么?
  这里我们以python 语言为例。
  from selenium import webdriver
  driver= webdriver.Chrome()   #获取浏览器驱动。拿到浏览器驱动driver 才能操作浏览器所打找的页面上的元素。
  我们把驱动展开是这样的
from selenium import webdriver
driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities={'platform': 'ANY',
'browserName':chrome,
'version': '',
'javascriptEnabled': True
})
  驱动里包含了一些参数,代理服务器(URL)平台,浏览器 ,浏览器版本等。
  移动端的自动化测试工具Appium
  从本质上来讲,appium同样继承了WebDriver  API的接口规范。Appium 同样是支持多种编程语言的。这里仍然以python 为例子。
  from appium import webdriver  #导入python版的 appium(webdriver)模块
#定义驱动的参数
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.2'
desired_caps['deviceName'] = 'Android Emulator'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
  这一次因为我们操作的是移动端的安卓。所以我们驱动的参数里要指定平台是'Android' ,版本是4.2 等信息。拿到驱动后,可以操作安卓上的APP了。

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd