Selenium 自动化测试之道--学习总结-WebDriver

最近正在看Ping++测试团队编著的《Selenium 自动化测试之道》,非常非常好的一本书,不仅仅是工具的介绍使用,还有非常珍贵的实践总结,自己的公司也在做自动化,由于是基于B/S,要考虑到硬件环境,而且主要使用的是RobotFramework去构建自动化脚本验证系统的可靠性。

之前自己也学习过关于Selenium的知识,但是总感觉知识很零散,自己在网上搜了很长时间,买了这本书,发现自己还欠缺很多,很庆幸能读到这本书,下面开始一点点的搭建自己的知识框架。

一、工作原理

Selenium Webdriver是调用浏览器的原生接口(浏览器原生API就是浏览器设计时内置的接口,除了原生接口还有浏览器通用或某浏览器兼容的接口

)来操作浏览器的。Selenium 2.0将浏览器原生的API封装成WebDriver API,在脚本中创建Webdriver对象,再通过这个对象调用Webdriver API来访问浏览器接口,可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的), 所以就像真正的用户在操作一样。

在测试脚本中使用Selenium Webdriver ,无论哪种浏览器,处理逻辑都是通过一个ComandExecutor发送命令,实际上就是一条发送给Web Service(Web Service是基于特定WebDriver Wire协议的RESTful接口,测试脚本通知浏览器要做的操作都包含于发送给Web Service的HTTP请求体中)的HTTP 请求。

Selenium HttpCommandExecutor类的代码维护了一个 nameToUrl = ImmutableMap.<String,CommandInfo>builder()的函数,它将简单的命令转化为相应的请求URL,请求基于sessionID的,在多线程并行的时候不会发生冲突和干扰。

二、环境搭建(基于JAVA)(版本没有冲突就可以,注意32位还是64位)

1.JDK

2.eclipse

3.浏览器Chromestable_54.0.2840.99.exe(没有直达链接,FQ找),Firefox,IE,

4.浏览器Driver,与浏览器版本一致

5.测试环境(某网站)

6.Selenium工具jar包selenium-server-standalone-2.53.0.jar

7.代码管理工具apache-maven

8.mavend的本地仓库.m2

原文地址:https://www.cnblogs.com/mimihuhudeliwu/p/9219889.html

时间: 2024-10-05 23:09:46

Selenium 自动化测试之道--学习总结-WebDriver的相关文章

Selenium 自动化测试之道--学习总结-TestNG

一.环境搭建 使用maven搭建testng测试框架 1.在apache官网下载并安装maven,解压maven压缩包: 2.配置maven的环境变量  M2_HOME  D:\Program Files\apache-maven-3.0.5 path  %M2_HOME%\bin; 3.  找的.m2文件压缩包(里面有打包好的库文件),解压到这个路径%userprofile%下的(C:\Administrator) 4.在eclipse中修改maven的安装路径:window---->pref

Selenium自动化测试之启动浏览器

一.Eclipse新建java工程 1.新建java工程:File->New->Java Project,输入Project name:如AutoTest,名称随意,点击Finish: 2.新建Package:选择AutoTest项目,右键->New->Package,输入name,如com.test.selenium,名称随意,点击Finish: 3.新建class类:选择com.test.selenium包,右键->New->Class,输入name,如:Test,

Python3 Selenium自动化web测试 ==&gt; 第八节 WebDriver高级应用 -- 结束Windows中浏览器的进程

学习目的: 掌握WebDriver的高级应用 正式步骤: # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.support.ui import Select from selenium.webdriver.common.keys import Keys from selenium.common.excep

selenium自动化测试之测试结果验证

1.实际测试过程中,常常要对比实际结果与期望结果是否一致.2.如果实际结果与期望结果不一致则被认为bug selenium广泛应用于B/S架构,如何通过selenium来验证测试结果的正确性呢. 案例分析:以百度为例,一起来看看如何验证测试结果的正确性. 点击百度首页的"hao123"后: 跳转至"hao123"页面 验证:是否跳转至"hao123"页面 如何通过selenium实现该场景呢? #****************** # 获取验证

selenium自动化测试之--验证码处理

由于登录反爬措施的越来越麻烦,甚至出现了12306这种看图识物的无敌验证码,我只能说,我选择死亡.这就衍生出了使用selenium来获取获取cookies. 因为经常会出现验证码,导致我们ui自动化测试工作无法更好开展,那么如何处理这种验证码呢? 像这种滑块和手机验证码的情况下,无法通过正常办法是没有办法进行处理,那么 一般对这种处理有以下几种思路: 1. 通过接口请求,拿到对应验证码信息 2. 让开发配合把验证码搞成万能验证码 3. 注入cookies 那么如何通过注入cookies的形式来实

Android自动化测试之Monkeyrunner学习笔记(一)【转】

因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyrunner.Athrun.appium,目前仍在了解学习android测试框架.CTS等.本文主要为前段时间学习总结,由于刚接触不久,故本文难免会有些肤浅,大神请绕走~ [目录] 1.Monkeyrunner简介 2.Monkeyrunner工具特性 3.Monkeyrunner工具同Monkey工具的差别 4.运行Monkeyrunner 5.实例 6.学习笔记

selenium自动化测试之元素定位一

Selenium元素定位方法总共有八大类,分别是:id,name,class name,tag name,link text,partial link text,xpath,css.八种定位方法没有哪个是最好的,在不同的场景下需要使用不用的定位方法. 示例html文件如下: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"/> <me

Selenium自动化测试之元素定位

一.Selenium定位方法 自动化测试的关键是要准确的操作测试对象,所以就需要对被测系统的页面元素做精确的定位:有以下几种定位方法: By.classNme(String className) By.cssSelector(String selector) By.id(String id) By.linkText(String linkText) By.name(String name) By.partialLinkText(String linkText) By.tagName(String

Selenium自动化测试之学会元素定位

这是我经常被问到的一个问题,也是我很讨厌回答的问题,因为要想回答这个问题需要知道上下文.什么样式的元素,有哪些属性,是否有表单嵌套,都尝试了哪些定位方法...而且没几个提问者能事先详细的说明这些.哪儿像提bug一样描述重现步骤,而且每一步都截图,生怕开发重现不了.反正,向我提问者没见过这样的,大多就报着试试态度,你爱回不回,碰碰运气说不定就回我了. 当然,我写这一篇文章的目的肯定不是为了吐槽,我是打算拿这个链接丢给他看,所以,这里会总结常见几种情况,以及解决办法.如果本文能不解决你的问题,你问我