首页 技术 正文
技术 2022年11月20日
0 收藏 630 点赞 4,387 浏览 1677 个字

前言

如果你是一位有python语言基础的同学,又想通过python+ selenium去实施自动化,那么你非常幸运的找到了这份文档,我也非常荣幸能为你的自动化学习之路带来一丝帮助。

  其实,我在selenium自动化方面也是初学者,虽然在刚开始从事测试工作的就尝试学习selenium自动化工具,购买了面《零成本实现web自动化测试—基于seleinum与Bromine》学了一段时间不得门,当时水平有限,甚至一直都不理解什么自动化测试框架,后来就放弃了自动化的学习。

  今年换工作后,所测试的项目用python开发,为了更好的测试项目,开始学习python语言,花一个月多月的时候将python基础学习了一下。正好所测试的项目也比较适合进行自动化,于是尝试通过python+selenium 对项目进行自动化工作。

  学习的过程还是比较艰难的,对于selenium webdriver 的ruby 和 java的实例比较多,python甚少,查询API文档有方法,但没有实例,不知道如何实现。在学习过程中要感谢 乙醇 同学,他在ruby+selenium 方面有很深的功力;另一位要感谢的是 rabbit ,他在python+selenium  的学习中给我了很多帮助。

下面要简单说说本文档的内容:

   为了学习selenium webdriver 本身的用法,全文没有引入python 的unittest 测试框架;所有的脚本也都是单个的用例的学习,引入框架后将会提供更强大的功能,比如用例的运行时间,用例的批量执行等。本文档是第一版,我此后也会继续学习unittest 测试框架的技术,并将在第二版中加入。

  本文档不是API,所以还有很多方法没有整理,如果在学习的过程中有任何疑问,请查阅在线AIP 文档:

http://selenium.googlecode.com/git/docs/api/py/index.html

目录

一、selenium+python环境搭建 4

  1.1 selenium介绍 4

  1.2 准备工作 4

  1.3 安装步骤 5

  1.4 安装chrome driver 6

  1.5 安装 IE driver 7

二、开始第一个脚本 7

  2.1 为什么选python 7

  2.2 第一个脚本 7

  2.3 脚本解析 8

三、元素的定位 9

  3.1  id和name定位 11

  3.2  tag name和class name定位 11

  3.3  CSS定位 11

  3.4  XPath定位 12

  3.5  link定位 14

  3.6  Partial link text定位 14

四、添加等待时间 14

  4.1、添加休眠 15

  4.2、智能等待 15

五、打印信息 16

  5.1、打印tile 16

  5.2、打印URL 17

六、浏览器的操作 18

  6.1、浏览器最大化 18

  6.2、设置浏览器宽、高 19

七、操作浏览器的前进、后退 19

八、操作测试对象 21

九、键盘事件 22

  9.1、键盘按键用法 23

  9.1、键盘组合键用法 24

十、鼠标事件 25

  10.1、鼠标右键 26

  10.2、鼠标双击 27

  10.3、鼠标拖放 28

十一、定位一组元素 28

  11.1、第一种定位方法 30

  11.2、第二种定位方法 30

  11.3、去掉最后一个勾选 31

十二、多层框架/窗口定位 32

  12.1、多层框架定位 33

  12.1、多层窗口定位 35

十三、层级定位 35

十四、上传文件操作 39

  14.1、操作文件上传例子 39

  14.2、139邮箱上传 40

十五、下拉框处理 41

  15.1、操作下拉框例子 42

  15.2、百度搜索设置下拉框操作 43

十六、调用js 44

  15.1、通过js隐藏元素 45

  15.2、通过js使输入框标红 47

十六、控制浏览器滚动条 48

  16.1、场景一 48

  16.1、场景二 48

十七、webdriver原理解析 49

说明:

  这个文档的所有内容在本博客中都能找到,只是本文档的结构更合理,顺序更清晰,适合新手一步一步的较系统的学习。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,085
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,560
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,409
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,182
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,819
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,902