第2章测试环境搭建

sunshine-habit sunshine-habit     2022-09-29     578

关键词:

2.3 安装浏览器驱动
WebDriver 支持Firefox (FirefoxDriver)、IE (InternetExplorerDriver)、Opera (OperaDriver) 和Chrome(ChromeDriver)。
对Safari 的支持由于技术限制在本版本中未包含,但是可以使用SeleneseCommandExecutor模拟。
还支持Android (AndroidDriver)和iPhone (IPhoneDriver) 的移动应用测试。
还包括一个基于HtmlUnit 的无界面实现,相关驱动为HtmlUnitDriver。
Selenium-WebDriver支持下面的浏览器,以及这些浏览其兼容的操作系统。
> Google Chrome 12.0.712.0+
> Internet Explorer 6, 7, 8, 9 - 32 and 64-bit
> Firefox 3.0, 3.5, 3.6, 4.0, 5.0, 6, 7
> Opera 11.5+
> HtmlUnit 2.9
> Android – 2.3+ 为移动电话和平板电脑(设备或模拟器)
> iOS 3+ 移动电话(设备或模拟器) 以及3.2+ 平板电脑(设备或模拟器)

 

 
各个浏览器驱动下载地址:http://www.seleniumhq.org/download/
http://chromedriver.storage.googleapis.com/index.html?path=2.32/
https://github.com/operasoftware/operachromiumdriver/releases
安装Chrome 浏览器驱动,下载ChromeDriver_win64.zip(根据自己系统下载不同的版本驱动),解压得到chromedriver.exe 文件放到系统环境变量Path 下面。
安装IE 浏览器驱动,下载IEDriverServer_Win32_x.xx.zip,将解压得到IEDriverServer.exe,同样放置到系统环境变量path 目录下。
 
在Liunx 系统下,同样下载系统对应的浏览器驱动,并将浏览器驱动放置到环境变量Path 所设置的路径下,不同的Linux 环境变量的设置也会有所区别,这里不再详细介绍。
 
 
安装完成后可以用IE 和chrome 来替换firefox 运行上面的例子。
import org.openqa.selenium.firefox.*;
....
WebDriver driver = new ChromeDriver();
....
替换为:
import org.openqa.selenium.chrome.*;
....
WebDriver driver = new ChromeDriver();
....
import org.openqa.selenium.ie.*;
....
WebDriver driver = new InternetExplorerDriver();
....
如果程序能调用相应的浏览器运行,说明我们的浏览器驱动安装成功。
 
2.3补充说明:selenium+chromedriver安装及简单使用
解压后里面是一个exe文件,有两种选择:
1.每次使用手动增加路径:
?
1
2
3
#手动添加路径
path = "C:Program Files (x86)GoogleChromeApplicationchromedriverchromedriver.exe"
driver = webdriver.Chrome(executable_path=path)
 
2. 添加环境变量path,增加chromedriver所在的目录
(我的电脑--右击属性--高级系统调设置--环境变量--path--把chromedriver.exe的路径添加上即可)
如果报错,考虑版本不对的问题,换个chromedriver.exe!!!
 
 
 
2.4 不同编程语言下使用WebDriver
W3C(万维网联盟)对WebDriver 对做定义和规范。
http://www.w3.org/TR/webdriver/
  WebDriver 是一个远程控制界面,支持反省和用户代理的控制权。它提供了一个独立于系统平台和编程语言的线协议(wire protocol)作为一种远程进程程序指示web 浏览器的行为。
该WebDriver API 通过通讯协议和一组接口来发现页面上的DOM 元素中定义的操作,包括控制浏览器的行为。
我们可以这样来理解,例如,国标标准定义插板和插头的生产标准。那么所有的电器厂商生产的插头与所有插板厂商生产的插板都按照这套标准来设计与生产。所以,我们拿到任何一个合格的插头和插板都可以匹配得上。
WebDriver 可以理解成对操作浏览器和页面元素的一套“国标”。那么不同的编程语言都可以按照这套标准实现自己的语言的WebDriver库。
 
下面展示在不同编程语言下使用WebDriver 实现百度搜索的例子。
 
在C#中引入Selenium WebDriver 实现自动化测试:
baidu.cs
//添加 Selenium(webdriver)的引用
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;
namespace SeleniumTests
{
class Baidu
{
static void Main(string[] args)
{
driver = new FirefoxDriver();
url = "http://www.baidu.com/";;
driver.Navigate().GoToUrl(url)
var searchBox = driver.FindElementById("kw");
searchBox.SendKeys("Selenium");
ar btnClick = driver.FindElementById("su");
btnClick.Click();
driver.Quit();
}
}
}

 

 
在Ruby 中引入Selenium WebDriver 实现自动化测试:
baidu.rb
#导入Selenium(webdriver)包
require Selenium-webdriver
driver = Selenium::WebDriver.for:chrome
driver.get "http://www.baidu.com";
driver.find_element(:id, kw).send_keys "Hello WebDriver!"
driver.find_element(:id, su).click
driver.quit

 

 
在Python 中引入Selenium WebDriver 实现自动化测试:
baidu.py
#coding=utf-8
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://www.baidu.com";)
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
browser.quit()

 

 
在不同的编程语言中会有语法的差异,我们抛去语法的差异性,在不同的语言中实现百度搜索的自动化实例都完成了下面几个操作。
 
(1)首先导入Selenium(webdriver)相关模块。
(2)调用Selenium 的浏览器驱动,获取浏览器句柄(driver)并启动浏览器。
(3)通过句柄访问百度URL。
(4)通过句柄操作页面元素(百度输入框和按钮)。
(5)通过句柄关闭浏览器。
 
所以,WebDriver 支持多种编程语言,再确切的可以看作是多种语言都支持WebDriver,唯一的不同在于不同语言实现的类与方法名的命名差异性。当然,这样做的好处不言而喻,每个人可以根据自己熟悉的语言来使用WebDriver 编写自动化测试脚本。
 

testng测试框架入门到实战

...7BeforeTest和AfterTest注解第4章TestNG高级部分代码演示如何把测试方法分优先级执行,如何给测试方法分组执行,有依赖关系的case怎么执行?有的方法你可能因为相关bug没有修复所以暂时不执行,等修完bug再执行,那么在你不想用... 查看详情

第3章struts2框架--1struts2环境搭建

第3章Struts2框架--1、Struts2环境搭建搭建步骤:1、从下载http://struts.apache.org没找到Struts2.3.16版,就下载了2.3.292、拷贝后解压到本地文件夹,在eclipse(JunoRelease)的菜单Windows-->Preferences,添加Struts2用户库3、新建一个DynamicWebProject,在... 查看详情

第2章openstack架构-016-搭建openstack实验环境

先搭建起一个实验环境。 推荐使用DevStackhttp://docs.openstack.org/developer/devstack/DevStack丰富的选项让我们能够灵活地选取和部署想要的OpenStack服务,非常适合学习和研究。 部署拓扑首先设计OpenStack的部署拓扑。OpenStack是一个... 查看详情

第19章windows10系统下qt搭建android开发环境

19.2编译Android应用程序19.2.1创建Android(ARM)虚拟设备在SDK目录下,运行“AVDManager.exe”工具,创建虚拟设备。图19-2-1图19-2-2点击创建按钮之后,就填充设备的属性。开始在Windows上,模拟大于768M的RAM 查看详情

小白福音!零基础入门软件测试,首选必备课程

第1章课程介绍本章将从软件测试的起源与发展、测试行业的现状及职业生涯规划等整体做介绍。1-1课程介绍1-2软件测试的发展1-3软件测试的发展与职业规划1-4软件测试之“独孤九剑”第2章软件测试工程师必备基础知识本章将讲... 查看详情

第17章lamp环境搭建

1.为什么下载源码包需要到官网上去下载?简单说就是为了安全,如果是非官方下载的源码包,有可能被别有用心的人动过手脚,毕竟是源码的,任何人都可以修改代码。2.64位机器是否可以安装32位rpm包?64位机器是否可以安装32... 查看详情

第17章lamp环境搭建

1.为什么下载源码包需要到官网上去下载?简单说就是为了安全,如果是非官方下载的源码包,有可能被别有用心的人动过手脚,毕竟是源码的,任何人都可以修改代码。2.64位机器是否可以安装32位rpm包?64位机器是否可以安装32... 查看详情

第2章gns3和packettracer网络模拟器_搭建packettracer实验环境

3.Packettracer实验环境3.1设置网络拓扑图 (1)配置路由器局域网和广域网接口,如上图(可双击相应的图标,然后在命令行或图形界面上进行IP地址等配置)  ①本例采用“Generic(通用)”设备,可省去配置模块和接口。 ... 查看详情

第19章windows10系统下qt搭建android开发环境

19.1搭建QT环境19.1.1下载QT安装包下载地址: Indexof/archive/qt/5.12/5.12.6下载的最新5.12版本,进行安装,在安装软件过程中,需要选择安装Android相关的编译器。图19-1-1  查看详情

docker从入门到实战应用(代码片段)

...立性、隔离性,所以能够搭建一些具有高风险的软件进行测试。#3、在沙箱里运行病毒可以说也是安全操作。Docker的概念Docke 查看详情

第1章起步

第1章起步1.1搭建编程环境 1.2安装文本编辑器 1.3定制SublimeText的设置1.将制表符转换为空格2.设置行长标志3.缩进和取消缩进代码块4.将代码块注释掉 查看详情

python基于tensorflow的水果识别软件设计与实现.rar(论文+项目源码+视频演示)(代码片段)

...434.4Node后端的搭建…444.5开启服务操作流程…44第5章系统测试…475.1测试目的…475.2单元测试…475.2.1拍照测试…475.2.1视频模块测试…485.3集成测试…49结论…51参考 查看详情

《畅玩nas》第6章nextcloud环境搭建(代码片段)

NextCloud官网NextCloud文档相信很多朋友都用过网盘,使用最多、吐槽最多也莫过于某度盘,下载速度基本回到10年前的网速,我是不想用它了,今天就教搭建使用个人服务器搭建一个属于个人的网盘。网盘系统有很... 查看详情

大话软件测试(欧立奇)---软件测试入门书籍推荐

推荐一本个人刚入测试行业最先接触的入门书籍"大话软件测试",好不好,看了就知道!网盘下载地址:https://pan.baidu.com/s/1UXcTD-GILWGBr_NxSQi06Q目录第1部分软件需求与设计第1章软件需求第2章PRD审核第3章用户故事第4章审核FS第2部分软... 查看详情

接口自动化框架

第1章接口测试基础回顾对接口基础知识进行回顾,课前预习 1-1接口自动化测试从基础到框架-导学 1-2接口基础知识回顾 1-3接口测试基础面试解答第2章fiddler在工作中的运用讲解在工作中如何使用fiddler,提高工作效率... 查看详情

腾讯大牛亲授web前后端漏洞分析与防御技巧

...对课程整体进行介绍1-1Web安全课程介绍1-2项目总览第2章环境搭建本章节我们会搭建项目所需要的环境2-1环境搭建上2-2环境搭建下第3章前端XSS系统介绍XSS攻击的原理、危害,以真实案例讲解XSS带来过的损失,最后以实战代码讲解... 查看详情

《systemverilog验证-测试平台编写指南》学习-第2章数据类型(代码片段)

《SystemVerilog验证-测试平台编写指南》学习-第2章数据类型2.1内建数据类型2.2定宽数组2.2.1声明2.2.2常量数组2.2.3基本的数组操作--for和foreach2.2.4基本的数组操作--复制和比较《SystemVerilog验证-测试平台编写指南》学习-第2章数据类型... 查看详情

android开发环境搭建

第1章Android开发环境搭建本章介绍了如何在个人电脑上搭建Android开发环境,主要包括:Android开发的发展历史是怎样的、AndroidStudio的开发环境是如何搭建的、如何创建并编译App工程、如何运行和调试App。文章目录1.1Android开发简介... 查看详情