python2+selenium2.5.3自动化测试基础
药药君
一只正在前行的TE
展开
-
一.python+selenium做自动化测试需要满足的条件
自动化测试的目的是为了提高测试的效率,减少人工的成本,当然学习自动化的目的对于我们来说,是为了拿到更多的Money。学习自动化的基础可能不会让自己成为自动化的大神,但是至少可以了解到自动化的一些理念,对未来的路用一些基石来做铺垫。python+selenium是web ui的自动化测试。一般自动化的测试在所有测试里面是排在最后的,最先的是接口的测试,其次是功能测试,最后是自动化测试。那么UI级的界...原创 2018-07-04 14:42:08 · 646 阅读 · 0 评论 -
二.python+selenium环境的搭建
1. 安装python2.72. 安装pycharm作为编译器3. 安装火狐浏览器,密码:cj0a ,若电脑本身存在火狐浏览器可先卸载再安装。 并禁止火狐浏览器43.0版本的更新。打开菜单-->选项-->高级-->更新---选不检查更新。4.安装selenium2.5.3 密码:te5d (本地安装方法) 下载好selenium2.5.3之后通过DOS命令行进入到...原创 2018-07-04 16:07:51 · 578 阅读 · 1 评论 -
三.python+selenium基础操作集合
直接上代码:#coding:utf-8from selenium import webdriver #调用selenium中的webdriver包from time import sleep #导入时间包bro=webdriver.Firefox() #构建网页窗口对象bro.maximize_window() #最大化窗口#假设需要手动调节窗口使用(固定分辨率测试有时会用)br...原创 2018-07-12 15:47:17 · 958 阅读 · 0 评论 -
四.python+selenium元素定位之id、name、class_name
在学习元素定位前,要了解一些HTML的基础知识,知道HTML的构成是由很多的标签构成的,而这些标签下会存在很多的元素,有些元素是无功能含义的,这些元素常常是在我们在项目启动后,与开发商量,协助后期做自动化而写上去的,主要是为了在相同的标签里做区分,让我们能准确的定位到想要的元素,从而对元素进行操作。点击HTML了解简单的基础知识。 selenium中支持的元素定位方法有8种: 1....原创 2018-07-16 23:06:52 · 2738 阅读 · 1 评论 -
五.python+selenium元素定位之link_text、partial_link_text
link_text、partial_link_text主要是用来定位HTML中的<a href="url">超链接载体</a>那么其实就是一般运用在超链接的定位中,有个缺点是,超链接载体文字必须是在网页中唯一存在的,不然可能会定位不到需要的元素,当然定位元素的方式有那么多种,不需要在一棵树上吊死,这一种若不可用,我们也可以使用其他定位方式。那我们如果需要对百度首页中...原创 2018-07-16 23:25:22 · 18761 阅读 · 6 评论 -
六.python+selenium元素定位之tag_name二次定位
tag_name是使用标签进行定位这里用自己写了一个HTML来进行演示,请点击下载HTML中的lizi.html 密码:ww8k首先定位到lizi中的选项下拉框标签,就是点击一下Volvo定位该元素:该元素是属于select+option构成,那么先根据tag_name找到第一个标签select,再去select标签下找option标签以下是演示:遍历循环点击option...原创 2018-07-17 16:49:17 · 4775 阅读 · 0 评论 -
七.python+selenium元素定位之xpath
xpath定义方式有两种:1.绝对路径 2.相对路径绝对路径的意思是从最高级一级一级去找到该元素,为方便理解,举个例子:框出来的从C盘一步步到selenium文件夹的所有路劲就属于绝对路径。相对路径: 就是可以把“C:\Python27\Lib\site-packages\selenium-2.53.2-py2.7.egg“ 这前面部分用字符去代替 然后直接找到\s...原创 2018-07-17 22:31:34 · 1204 阅读 · 0 评论 -
八.python+selenium元素定位之css
css层叠样式表(英文全称:Cascading Style Sheets)。它原本是用来表现HTML和XML文件样式的语言。css中使用selector(选择器)来作为selenium中元素定位的方法。css相对其他定位方法来说比较灵活,几乎可以通过选择任意属性来对元素进行定位,也算是万能定位方法之一,在定位速度方面会比xpath快。下面来看一下css使用id、class、name...原创 2018-07-18 23:49:03 · 1062 阅读 · 1 评论 -
九.python+selenium之键盘事件
Python中所有的库or包都放在site-packages里,selenium也不例外而使用键盘事件需要到导入的模块是keys,如下图:那么键盘的一些基础操作使用的方法:网页对象名.find_element_by_元素定位方法(“对应方法的属性值”).send_keys(Keys.键盘操作) 例如:我们要在百度输入框输入seleniumm,用键盘事件删除一个m,加入键盘的...原创 2018-07-19 14:33:59 · 619 阅读 · 0 评论 -
十.python+selenium之鼠标事件
鼠标事件同样需要导入包,与键盘事件的都在common下。不过鼠标事件中,会存在一些微微的Bug,在运行的时候可能在页面实际效果会观察不到,但是代码本身是没有错误的。以下为鼠标事件中的一些方法:导入鼠标事件包的方法: from selenium.webdriver.common.action_chains import ActionChains鼠标右击:context_click(...原创 2018-07-19 15:08:15 · 422 阅读 · 0 评论 -
十一.python+selenium之iframe(内嵌)框架切换
iframe属于内嵌框架,从HTML中可以看出是否有内嵌框架的使用。一般网页存在内嵌框架的话,在HTML中会有iframe的标签存在,而这种iframe标签用Firefox来定位时比较容易查看到。例如QQ邮箱登录页面。在插件的辅助下,可以很快的看得到它是属于iframe框架的。那么若需要对这个iframe内嵌框架进行操作的话,必须通过切换框架来实现元素的定位,否则,在Top_windo...原创 2018-07-19 16:19:15 · 720 阅读 · 0 评论 -
十二.python+selenium之页面句柄切换
首先了解一下句柄是什么意思?句柄是浏览器的属性,也就是浏览器的唯一标识。类似HTML,需要用不同的属性代表不同的元素地址的定位。那么我们在很多页面窗口打开的情况下,就需要通过句柄切换的形式来达到我们需要的页面进行元素的定位。而如果没有页面句柄切换,只能在第一个打开的窗口页进行元素的定位。例如:我们在bilibili进行操作,在搜索框输入selenium,点击一下搜索,然后即会弹出一...原创 2018-07-21 16:37:40 · 3194 阅读 · 1 评论 -
十三.python+selenium之异常处理raise
raise异常处理,直接上代码:#coding:utf-8from selenium import webdriverfrom time import sleepbro = webdriver.Firefox()bro.maximize_window()bro.get("https://www.baidu.com") a = bro.titleprint a #打印tit...原创 2018-07-23 11:15:08 · 1549 阅读 · 0 评论 -
十四.python+selenium之异常处理try,except,finally
格式:try: 语句1 语句2 .......(更多语句)except: 语句3finally: 语句4以下直接上代码演示:#coding:utf-8from selenium import webdriverfrom time import sleepbro = webdriver.Firefox()bro.m...原创 2018-07-23 11:34:33 · 5380 阅读 · 2 评论 -
十五.python+selenium之等待时间(三种)
1. 强制等待时间 sleep() : 必须导入time包后才可以使用,强制等待生效时间=页面跳转时间+sleep()设置休眠时间2.显示等待时间 WebDriverWait() : 必须导入WebDriverWait包才可以使用,显示等待时间是针对单个元素生效的,当在规定时间内找到了对应元素,则执行下一步操作。3.隐式等待时间 implicitly_wait() : 智能等待时间,是针对...原创 2018-07-23 14:30:05 · 2320 阅读 · 1 评论 -
十六.python+selenium之Select模块定位select+option标签
使用Selcet需要导入该模块的包导入模块方法:from selenium.webdriver.support.select import Select一般使用3种方法来定位:1. 通过索引来定位: select_by_index() 2. 通过文本值来定位:select_by_visible_text() 3. 通过value值来定位: select_by_v...原创 2018-08-06 23:20:57 · 2189 阅读 · 0 评论 -
十七.python+selenium之alert(警告)弹框处理。
alert弹窗处理一般有两种:第一种,点确认使用 .accept() 函数第二种,点取消或是点右上角的x,使用 .dismiss() 函数延用上一篇的代码,在百度设置点保存设置后,会弹出一个框,然后对弹框进行点击确认 或是 点击x的操作。以下是演示代码:#coding:utf-8from selenium import webdriverfrom sele...原创 2018-08-06 23:40:48 · 1575 阅读 · 0 评论 -
十八.python+selenium之加载Firefox配置文件
若Firefox安装了的Firebug 和 FirePath,手动启动浏览器的时候可以查看到这两个插件的配置而使用自动化的脚本去启动浏览器的时候是没法把配置加载进去的,因为当使用自动化脚本去启动的时候它会重新启动一个进程。那么我们若需要在自动化脚本启动的脚本加载Firebug和FirePath等配置文件如何处理?1. 需要先找到火狐浏览器中配置文件的路径。点击打开菜单==>找...原创 2018-08-13 14:37:10 · 1396 阅读 · 0 评论 -
十九.python+selenium之Js控制滚动条
一般两种情况下使用滚动条的情况比较多。1.定位视觉范围外的元素时可能使用到。2.有部分注册须知等需要滚动到最底部才算阅读完成,才会出现可操作元素。然而滚动条是无法直接进行定位的,这时我们就需要借助Javascript来辅助我们进行这个操作。selenium中提供了执行js的操作,格式:对象名. execute_script(js的操作方法)其中js的写法:滚动到底部: wi...原创 2018-08-14 22:53:03 · 1024 阅读 · 0 评论