Selenium自动化测试实例-基于python
一、Selenium介绍
Selenium是一个Web开源自动化测试框架,具有页面级操作、模拟用户真实操作、API从系统层面触发事件等特点。
1.版本
Selenium 1.0
Sever/Client工作方式,可在本地或远程机器上运行基于JS注入的Case底层。
为什么一定要用代理服务器的模式?答案是同源策略,它是由Netscape 提出的一个著名的安全策略,现在所有可支持JavaScript 的浏览器都在使用这个策略。
Selenium 2.0
Selenium 2.0基于Selenium 1.0(即JavaScript ),并结合其WebDriver模拟用户的真实操作。WebDriver原生绑定浏览器,绕过浏览器安全模型。它有很好的处理Ajax的能力,并且支持多种浏览器(如Safari、IE、Firefox、Chrome等),可以运行在多种操作系统上。目前,很多人在使用Selenium 2.0。
Selenium 3.0
Selenium3.0在Selenium 2.0的基础上做了更多的改进,JDK的版本必须在1.8以上,geckodriver驱动必须在Firefox 48版本以上。该版本支持苹果公司的Safari浏览器,去掉了Selenium RC,全部采用了WebDriver等。总之,Selenium 3.0支持的原生驱动更加丰富。
2.元素定位及用例编写
(1)多种方式定位并控制页面元素。掌握Web元素定位方式id namelinktext xpath tag css。
(2)自动化测试用例。通过元素定位和步骤依次封装成自动化测试用例。
3.运行时注意驱动与浏览器的版本
默认为谷歌(Chrome)驱动,
如chromedriver.exe、IEDriverServer.exe。
注意,版本需要兼容JDK 1.7以及IE 8~IE 10,如是IE 11及以上,需要更新驱动才能支持,请大家自行研究更新版本驱动或采用旧版本浏览器。
二、 环境搭建
从https://pypi.python.org/pypi/selenium/#downloads selenium-3.8.0.tar.gz解压缩,切换到相应目录python setup.py install。
从https://pypi.python.org/pypi/configparser/configparser-3.5.0.tar.gz 解压缩,切换到相应目录pyton setup.py install。
安装谷歌浏览器,选择默认安装。
安装火狐驱动:chromedriver.exe,将文件到相应的正确的代码目录下。
设置环境变量
C:\Users\zh\Desktop\software\autotestweb\src\chromedriver.exe。
三、Web自动化测试源码实例演练
web自动化测试实例-实现百度web中搜索“Python测试开发社区”
通过按F12键,以及左上角的箭头,单击要捕获的元素,就能定位到源码并查看该元素的信息,比如id、type、name、class等。搜索文本捕获到文本框id为kw,百度一下按钮捕获到id为su,如图1和图2所示。
1.功能描述
引入Selenium的Webdriver驱动包,进入主函数,定义为谷歌浏览器驱动,取百度网页,查找控件元素id为kw的文本框,Sendkeys输入软件自动化测试开发,查找控件元素id为su的按钮,单击“搜索”按钮,结束。
▲图1
▲图2
百度web中搜索“Python测试开发社区”,
程序清单:
文件名webauto_testcase1.py
#-*- coding: UTF-8 -*-
import time
from selenium import webdriver
if __name__ == '__main__':
globaldriver
driver =webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(1)
driver.find_element_by_id('kw').send_keys('Python测试开发社区')
time.sleep(1)
driver.find_element_by_id('su').click()
time.sleep(5)
driver.quit()
print ('Done!')
time.sleep(1)
演示视频:
你是不是觉得so easy呢?
Selenium自动化测试实例-基于python的更多相关文章
- 《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门
第1章 Selenium自动化测试框架入门 1.1 Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...
- Appium移动自动化测试实例-基于python
一.环境搭建 安装Android 环境变量.SDK.Android API.ADT等. 步骤1 安装SDK:下载地址为https://pan.baidu.com/s/1mi6PT9m.如提示错误:' ...
- 《Selenium自动化测试实战:基于Python》之 Python与Selenium环境的搭建
第2章 Python与Selenium环境的搭建 购买链接: 京东:https://item.jd.com/13123910.html 当当:http://product.dangdang.co ...
- 《Selenium自动化测试实战:基于Python》之 Selenium IDE插件的安装与使用
第3章 Selenium IDE插件的安装与使用 京东:https://item.jd.com/13123910.html 当当:http://product.dangdang.com/292045 ...
- 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法
虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...
- selenium2自动化测试实战--基于Python语言
自动化测试基础 一. 软件测试分类 1.1 根据项目流程阶段划分软件测试 1.1.1 单元测试 单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程. 1.1.2 集成测试 ...
- 《Selenium2自动化测试实战--基于Python语言》 --即将面市
发展历程: <selenium_webdriver(python)第一版> 将本博客中的这个系列整理为pdf文档,免费. <selenium_webdriver(python)第 ...
- 如何简单实现接口自动化测试(基于 python) 原博主地址https://blog.csdn.net/gitchat/article/details/77849725
如何简单实现接口自动化测试(基于 python) 2017年09月05日 11:52:25 阅读数:9904 GitChat 作者:饿了么技术社区 原文:如何简单实现接口自动化测试(基于 python ...
- 关于《Selenium3自动化测试实战--基于python语言》
2016年1月,机缘巧合下我出版了<Selenium2自动化测试实战--基于python语言>这本书,当时写书的原因是,大部分讲Selenium的书并不讲编程语言和单元测试框,如果想在项目 ...
随机推荐
- 884A. Book Reading#抽空学习好孩子(模拟)
题目出处:http://codeforces.com/problemset/problem/884/A 题目大意:每天时间分两部分,工作和学习,工作优先,闲暇读书,问第几天读完 #include< ...
- 14 微服务电商【黑马乐优商城】:day03-springcloud(Hystix,Feign)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- 600E - Lomsat gelral(找子树多颜色问题)(入门)
题:https://codeforces.com/problemset/problem/600/E 题意:一棵树有n个结点,每个结点都是一种颜色,每个颜色有一个编号,求树中每个子树的最多的颜色编号的和 ...
- lambda concurrent List<Map> to Map
Object c = Stream.of( CompletableFuture.supplyAsync(() -> { Map m = new HashMap(); try { Thread.s ...
- Java BigInteger详解
BigInteger概述 可用于无限大的整数计算 所在的包 java.math.BigInteger; 构造函数 public BigInteger(String val) 成员函数 比较大小函数 p ...
- vue 利用axios请求接口下载excel
一般有三种方法: 方法一: 通过a标签下载 // href为文件的存储路径或者地址,download为问文件名 <a href="/images/download.jpg" ...
- centos7_安装jira7
centos7 安装jira7 参考文档:http://www.cnblogs.com/kevingrace/p/7608813.html 1.准备环境 centos7 memory:8G stora ...
- 深度优先搜索(DFS)和广度优先搜索(BFS)求解迷宫问题
用下面这个简单的迷宫图作为例子: OXXXXXXX OOOOOXXX XOXXOOOX XOXXOXXO XOXXXXXX XOXXOOOX XOOOOXOO XXXXXXXO O为通路,X为障碍物. ...
- 38)PHP,获取数据库数据并在html中显示(晋级5)
还有一个加了单例模式的,在第52个. 首先是我的文件关系: 我的主php文件是index.php,我的配置文件php是BBB.php 我的数据库操作文件是 b.php 我的html文件是lo ...
- 吴裕雄--天生自然python机器学习:朴素贝叶斯算法
分类器有时会产生错误结果,这时可以要求分类器给出一个最优的类别猜测结果,同 时给出这个猜测的概率估计值. 概率论是许多机器学习算法的基础 在计算 特征值取某个值的概率时涉及了一些概率知识,在那里我们先 ...