一、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的更多相关文章

  1. 《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门

    第1章  Selenium自动化测试框架入门 1.1  Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...

  2. Appium移动自动化测试实例-基于python

    一.环境搭建 安装Android 环境变量.SDK.Android API.ADT等. 步骤1  安装SDK:下载地址为https://pan.baidu.com/s/1mi6PT9m.如提示错误:' ...

  3. 《Selenium自动化测试实战:基于Python》之 Python与Selenium环境的搭建

    第2章  Python与Selenium环境的搭建 购买链接:  京东:https://item.jd.com/13123910.html  当当:http://product.dangdang.co ...

  4. 《Selenium自动化测试实战:基于Python》之 Selenium IDE插件的安装与使用

    第3章  Selenium IDE插件的安装与使用 京东:https://item.jd.com/13123910.html 当当:http://product.dangdang.com/292045 ...

  5. 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法

    虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...

  6. selenium2自动化测试实战--基于Python语言

    自动化测试基础 一. 软件测试分类 1.1 根据项目流程阶段划分软件测试 1.1.1 单元测试 单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程. 1.1.2 集成测试 ...

  7. 《Selenium2自动化测试实战--基于Python语言》 --即将面市

    发展历程: <selenium_webdriver(python)第一版>   将本博客中的这个系列整理为pdf文档,免费. <selenium_webdriver(python)第 ...

  8. 如何简单实现接口自动化测试(基于 python) 原博主地址https://blog.csdn.net/gitchat/article/details/77849725

    如何简单实现接口自动化测试(基于 python) 2017年09月05日 11:52:25 阅读数:9904 GitChat 作者:饿了么技术社区 原文:如何简单实现接口自动化测试(基于 python ...

  9. 关于《Selenium3自动化测试实战--基于python语言》

    2016年1月,机缘巧合下我出版了<Selenium2自动化测试实战--基于python语言>这本书,当时写书的原因是,大部分讲Selenium的书并不讲编程语言和单元测试框,如果想在项目 ...

随机推荐

  1. 配对t检验

  2. Redis哨兵、复制、集群的设计原理,以及区别

    广西SEO:谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. **哨兵(Sentinel):**可以管理多个Redis服务器,它提供了监控,提醒以及自 ...

  3. 【转】Fst指数

    [转]Fst指数 转载自 http://blog.csdn.net/zhu_si_tao/article/details/71513099 与 http://blog.sina.com.cn/s/bl ...

  4. python机器学习(2:KNN算法)

    1.KNN 简介:knn算法是监督学习中分类方法的一种.它又被叫k近邻算法,是一个概念极其简单而分类效果又很优秀的分类算法. 核心思想:在训练集中选出离输入的数据最近的k个数据,根据这k个数据的类别判 ...

  5. 900A. Find Extra One#寻找与众不同的它(计数)

    题目出处:http://codeforces.com/problemset/problem/900/A 题目大意:问删除一个点后,剩下的点能不能都在Y轴的同一边 #include<iostrea ...

  6. 关于Java中注解的总结

    注解用来给类声明附加额外信息,可以标注在类.字段.方法等上面,编译器.JVM以及开发人员等都可以通过反射拿到注解信息,进而做一些相关处理 Java中注解的知识结构图 常用注解 @Override   ...

  7. 01-Java 教程

    一.我的第一个 java 程序 创建文件 HelloWorld.java(文件名需与类名一致), 代码如下: public class HelloWorld { public static void ...

  8. QTP基本循环正常遍历(代码方式实现)

    0 环境 系统环境:win7 1 操作(正常遍历篇) 1.1 代码前看 systemutil.Run "D:\Program Files (x86)\HP\QuickTest Profess ...

  9. 吴裕雄--天生自然PYTHON学习笔记:解决ElementNotInteractableException: Message: element not interactable

    submit=self.wait.until(EC.element_to_be_clickable((By.ID,'loginAction'))) 2.永久覆盖element来保证自己的element ...

  10. 吴裕雄--天生自然 PHP开发学习:在CenterOS 7 系统安装配置PHP 7

    执行命令"yum install httpd"进行安装,然后在选择处,我们输入y,等待软件安装完毕.安装完成后,Apache配置文件路径是:/etc/httpd/conf/http ...