关闭

自动化基础普及之selenium是什么?

发表于:2014-9-22 11:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:虫师    来源:51Testing软件测试网采编

  Selenium 并不像QTP那样让人一下子就明白是什么?它是编程人员的最爱,但它却对测试新手产生了很大的阻碍。
  Selenium 是啥?
  Selenium RC是啥?
  Webdriver 又是啥?
  RC 和 Webdriver 是啥关系?
  Webdriver 和编程语言啥关系?
  Selenium 能并行执行脚本嘛?
  Selenium 能做移动端自动化么?
  这里虫师用简单方式,告诉你,他们错综复杂的关系。理顺了它们之间的关系才能真正使用它。
  Selenium 是什么?
  Selenium 是web自动化测试工具集,包括IDE、Grid、RC(selenium 1.0)、WebDriver(selenium 2.0)等。
  Selenium IDE 是firefox浏览器的一个插件。提供简单的脚本录制、编辑与回放功能。
  Selenium Grid 是用来对测试脚步做分布式处理。现在已经集成到selenium server 中了。
  RC和WebDriver 更多应该把它看成一套规范,在这套规范里定义客户端脚步与浏览器交互的协议。以及元素定位与操作的接口。
  WebDriver是什么?
  对于刚接触selenium自动化测试的同学来说不太容易理解API是什么,它到底和编程语言之是什么关系。
  http://www.w3.org/TR/2013/WD-webdriver-20130117/
  当初,在刚学selenium (webdriver)的时候花了一个星期来翻译这个文档,后来也没弄明白,它是啥。其实它就是一层基础的协议规范。
  假如说:Webdriver API(接口规范)说,我们要提供一个页面元素id的定位方法。
  Ruby的webdriver模块是这么实现的:
require "selenium-webdriver"   #导入ruby版的selenium(webdriver)
find_element(:id, "xx")    #id定位方法
  C#的webdriver模块是这么实现的:
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;  //导入C#版的selenium(webdriver)
FindElement(By.Id("xx"))   //id定位方法
  python的webdriver模块是这么实现的:
from  selenium import webdriver    #导入python版的selenium(webdriver)
find_element_by_id("xx")   #id定位方法
  Java的webdriver模块是这么实现的:
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;//导入java版的selenium(webdriver)
findElement(By.id("xx"))    //id定位方法
Robot Framework + selenium
  因为Robot Framework 对于底层过于封装,所以,我们看不到语言层面的方法定义。所以,Robot Framework 提供给我们的方法如下:
  1、导入Robot Framework 版本的selenium(webdriver)
  2、使用id方法
  Click element
  Id=xx
  需要说明的是 webdriver API 只提供了web页面操作的相关规范,比如元素定位方法,浏览器操作,获取web页元素属性等。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号