图文教程

从基础概念到工具实操,逐篇掌握测试技能。

517 篇内容

2017

(七)WebDriver常用方法

前面我们已经学习了定位元素, 定位只是第一步, 定位之后需要对这个元素进行操作, 或单击(按钮) 或 输入(输入框) , 下面就来认识这些最常用的方法。 下面先来认识 WebDriver 中最常用的几个方法: clear() 清除文本。 sendKeys(*value) 模拟按键输入。 click() 单击元素 clear()方法用于清除文本输入框中的内容。 …

1 分钟阅读

(八)模拟鼠标操作

通过前面例子了解到,可以使用click()来模拟鼠标的单击操作,现在的Web产品中提供了更丰富的鼠标交互方式, 例如鼠标右击、双击、悬停、甚至是鼠标拖动等功能。在WebDriver中,将这些关于鼠标操作的方法封装在ActionChains类提供。 Actions 类提供了鼠标操作的常用方法: contextClick() 右击 clickAndHold() …

1 分钟阅读

10. 写文件

这一节里我们来学习如何使用python向文本文件中写入的内容。 我们将实现一个简单的创建测试用例文件的脚本,脚本运行时候接收3个参数,分别是 用例编号 用例名称 断言 这里我们忽略写入测试步骤,这并不表示编写用例时可以忽略测试步骤 新建名为 ,内容如下 在命令行中使用下面的命令去执行代码 按照下面展示的情况进行输入,如果没有出错的话,你应该可以看到命令行窗口 …

1 分钟阅读

(九)模拟键盘操作

Keys()类提供了键盘上几乎所有按键的方法。 前面了解到, sendKeys()方法可以用来模拟键盘输入, 除此之 外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等。 需要说明的是,上面的脚本没有什么实际意义,但向我们展示了模拟键盘各种按键与组合键的用法。 import …

1 分钟阅读

(一)安装selenium

打开 Python官网,找到“Download”, 在其下拉菜单中选择自己的平台(Windows/Mac),一般的Linux平台已经自带的Python,所以不需要安装,通过打开“终端” ,输入“python”命令来验证。 如果你是第一次接触Python,一定会迷惑Python为什么会提供Python2.x 和 Python3.x两个版本?那么,直接使 …

1 分钟阅读

(十)获取断言信息

不管是在做功能测试还是自动化测试,最后一步需要拿实际结果与预期进行比较。这个比较的称之为__断言__。 我们通常可以通过获取title 、URL和text等信息进行断言。text方法在前面已经讲过,它用于获取标签对之间的文本信息。 getTitle(): 用于获得当前页面的title。 getCurrentUrl() : 用户获得当前页面的URL。 …

1 分钟阅读

(二)selenium3 浏览器驱动

当selenium升级到3.0之后,对不同的浏览器驱动进行了规范。如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动。 各浏览器下载地址: Firefox浏览器驱动:geckodriver Chrome浏览器驱动:chromedriver , taobao备用地址 IE浏览器驱动:IEDriverServer Edge浏览器驱 …

1 分钟阅读

11. 函数

这一节里我们来了解一下什么是函数。 简单来说函数就是一段代码,只不过这段代码有名字,可能有输入和输出,我们可以使用函数的名字反复去调用这段代码。 函数主要做了下面3件事情 给一段代码命名,就像是我们之前给字符串和数字取个变量名一样 可以像之前我们在调用脚本时使用 一样的使用传入参数 把上面2步结合起来,我们可以创建一些重复使用的脚本❤️ 下面我们演示一下如何 …

1 分钟阅读

(十一)设置元素等待

WebDriver提供了两种类型的等待:__显式等待__和__隐式等待__。 WebDriver提供了显式等待方法,专门针对某个元素进行等待判断。 WebDriverWait类是由WebDirver提供的等待方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。具体格式如下: …

1 分钟阅读

12. 函数与变量

对于初学者来说函数的概念比较的烧脑,刚开始理解起来会各种困难,不过没关系,继续多多练习,习惯之后就不会有太多问题了。 这一节里我们解决一个小问题,就是函数里的变量名和函数外的变量名是不是会冲突的问题。 结论是不冲突,下面我们演示一下具体情况。 新建名为 ,内容如下 上面的代码说明了一些问题 函数调用有很多的方式,传参的时候我们可以直接传值,传变量,甚至是合法 …

1 分钟阅读

(三)selenium元素定位

Selenium提供了8种定位方式。 id name class name tag name link text partial link text xpath css selector 这8种定位方式在Python selenium中所对应的方法为: find_element_by_id() find_element_by_name() …

1 分钟阅读

(十二)定位一组元素

在第(五)节我们已经学习了8种定位方法, 那8种定位方法是针对单个元素定位的, WebDriver还提供了另外8种用于定位一组元素的方法。 定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词 findElement 后面多了一个 s 表示复数。 打印结果:

1 分钟阅读

13. 函数与文件

继续通过练习来熟悉函数。 这一节里我们将使用函数和文件的知识来重构第9节中的内容。 重构简单来说就是在不改变原有代码功能的情况下修改先前的代码实现。 测试同学一般都需要对重构提高警惕,这是因为 重构中如果没有单元测试进行辅助的话,代码可能会隐藏问题 重构的需求往往安排较少的测试进行回归,测试力度可能不够 不出意外你应该拥有名为 的文本文件,内容如下: 新建名 …

1 分钟阅读

(四)控制浏览器操作

有时候我们希望能以某种浏览器尺寸打开,让访问的页面在这种尺寸下运行。例如可以将浏览器设置成移动端大小(480* 800),然后访问移动站点,对其样式进行评估;WebDriver提供了set_window_size()方法来设置浏览器的大小。 在PC端执行自动化测试脚本大多的情况下是希望浏览器在全屏幕模式下执行,那么可以使用maximize_window()方 …

1 分钟阅读

(十三)多表单切换

在 Web 应用中经常会遇到 frame/iframe 表单嵌套页面的应用, WebDriver 只能在一个页面上对元素识别与 定位, 对于 frame/iframe 表单内嵌页面上的元素无法直接定位。 这时就需要通过 switchTo().frame()方法将当前定 位的主体切换为 frame/iframe 表单的内嵌页面中。 126邮箱登录框的结构大概是 …

1 分钟阅读

(十四)多窗口切换

在页面操作过程中有时候点击某个链接会弹出新的窗口, 这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switchTo().window()方法可以实现在不同的窗口之间切换。 以百度首页和百度注册页为例,在两个窗口之间的切换如下图。 实现窗口切换的代码如下: 在本例中所涉及的新方法如下: getWindowHandle(): 获得当前窗口句 …

1 分钟阅读

(五)WebDriver常用方法

前面我们已经学习了定位元素, 定位只是第一步, 定位之后需要对这个元素进行操作, 或单击(按钮) 或输入(输入框) , 下面就来认识 WebDriver 中最常用的几个方法: clear(): 清除文本。 send_keys (value): 模拟按键输入。 click(): 单击元素。 submit() submit()方法用于提交表单。 例如, 在搜索框 …

1 分钟阅读

(十五)下拉框选择

有时我们会碰到下拉框,WebDriver提供了Select类来处理下接框。 如百度搜索设置的下拉框,如下图: 搜索下拉框实现代码如下: 操作下接框代码如下: Select类用于定位select标签。 selectByValue()方法符用于选取<option>标签的value值。

1 分钟阅读

(六)鼠标事件

在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供。 ActionChains 类提供了鼠标操作的常用方法: perform(): 执行所有 ActionChains 中存储的行为; context_click(): 右击; double_click(): 双击; drag_and_drop(): 拖动; …

1 分钟阅读

(十六)警告框处理

在 WebDriver中处理JavaScript所生成的alert、confirm以及prompt十分简单,具体做法是使用switch_to_alert()方法定位到alert/confirm/prompt,然后使用text/accept/dismiss/sendKeys等方法进行操作。 getText(): 返回 alert/confirm/prompt …

1 分钟阅读