文章分类 - Selenium Python
摘要:base_Page: import logging import os import time from datetime import datetime from time import sleep from selenium.webdriver.support import expected_c
阅读全文
摘要:1.内容介绍 什么是关键字驱动? 如何设计关键字驱动? 具体如何实现的? 框架详细分析 2.什么是关键字驱动 2.1.解决什么问题? 在回归测试的时候有很多重复测试的用例,我们希望这部分用例能自动化执行,减少人的重复性劳动。使用传统的全写代码模式进行自动化测试,如果测试人员不懂代码,那么自动化测试就
阅读全文
摘要:一.unittest是什么? Unittest是python单元测试框架,是受到 JUnit 的启发,与其他语言中的主流单元测试框架有着相似的风格。其支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。它不仅适用于单元测试,还在自动化测试领域占有一席之地。借
阅读全文
摘要:一、Pytest概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 简单灵活,容易上手,文档丰富; 支持参数化,可以细粒度地控制要测试的测试用例; 能够支持简单的单元测试和复杂的功能测试,还可以结合selenium/appnium实现UI自动化测试、结合reques
阅读全文
摘要:什么是数据驱动? 在测试活动中经常会使用相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动。例如:当我们测试某个网站的登录功能时,往往我们会使用不同的用户名和密码来验证登录模块对系统的影响,那么如果我们每一条数据都编写一条测试用例,这无疑是增加了
阅读全文
摘要:po模型设计思想 Page Object 模式主要是将每个页面设计为一个class,其中包含页面中的需要测试的元素(按钮,输入框,标题等),这样在Selenium测试页面中可以通过调取页面类来获取页面元素,这样避免当页面元素id或者位置变化后,需要改测试代码。当元素ID变化时,只需要改测试页面Cla
阅读全文
摘要:在前面的例子中我们一直使用quit()方法,其含义为退出相关的驱动程序和关闭所有窗口。除此之外,WebDriver还提供了close()方法,用来关闭当前窗口。例多窗口的处理,在用例执行的过程中打开了多个窗口,我们想要关闭其中的某个窗口,这时就要用到close()方法进行关闭了。 close() 关
阅读全文
摘要:在自动化测试中如果在脚本执行出错的时候能对当前窗口截图保存,那么通过截图内容就可以非常直观地定位问题所在。WebDriver提供了截图函数get_screenshot_as_file()来截取当前窗口。 from selenium import webdriver from time import
阅读全文
摘要:虽然WebDriver提供了操作浏览器的前进和后退方法,但对于浏览器滚动条并没有提供相应的操作方法。在这种情况下,就可以借助JavaScript来控制浏览器的滚动条。WebDriver提供了execute_script()方法来执行JavaScript代码。 用于调整浏览器滚动条位置的JavaScr
阅读全文
摘要:有时候需要验证浏览器中cookie是否正确,因为基于真实cookie的测试是无法通过白盒和集成测试进行的。WebDriver提供了操作Cookie的相关方法,可以读取、添加和删除cookie信息。 WebDriver操作cookie的方法: get_cookies(): 获得所有cookie信息。
阅读全文
摘要:对于通过input标签实现的上传功能,可以将其看作是一个输入框,即通过send_keys()指定本地文件路径的方式实现文件上传。 创建upfile.html文件,代码如下: <html> <head> <meta http-equiv="content-type" content="text/htm
阅读全文
摘要:一、下拉选择框的分类和实现 selenium的下拉选择框。我们通常会遇到两种下拉框,一种使用的是html的标签select,另一种是使用input标签做的假下拉框,后者我们通常的处理方式与其他的元素类似,点击或使用JS等。而对于前者,selenium给了有力的支持,就是Select类。 新建sele
阅读全文
摘要:JavaScript中,关于消息提示框的方法有三个: alert(message)方法用于显示带有一条指定消息和一个 OK 按钮的警告框。 confirm(message)方法用于显示一个带有指定消息和 OK 及取消按钮的对话框。如果用户点击确定按钮,则 confirm() 返回 true。如果点击
阅读全文
摘要:在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切换。 以百度首页和百度注册页为例,在两个窗口之间的切换如下图。 from selenium import webd
阅读全文
摘要:在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位。这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中。
阅读全文
摘要:WebDriver还提供了8种用于定位一组元素的方法。 find_elements_by_id() find_elements_by_name() find_elements_by_class_name() find_elements_by_tag_name() find_elements_by_l
阅读全文
摘要:WebDriver提供了两种类型的等待:显式等待和隐式等待。 显式等待 显式等待使WebdDriver等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常(TimeoutException)。 from selenium import webdriver from selenium.webd
阅读全文
摘要:不管是在做功能测试还是自动化测试,最后一步需要拿实际结果与预期进行比较。这个比较的称之为断言。 我们通常可以通过获取title 、URL和text等信息进行断言。text方法在前面已经讲过,它用于获取标签对之间的文本信息。 下面同样以百度为例,介绍如何获取这些信息。 from selenium im
阅读全文
摘要:Keys()类提供了键盘上几乎所有按键的方法。 前面了解到, send_keys()方法可以用来模拟键盘输入, 除此 之外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等。 from selenium import webdriver # 引入 Keys
阅读全文
摘要:一、常见的鼠标操作事件 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供。ActionChains 类提供了鼠标操作的常用方法: perform(): 执行所有 ActionChains 中存储的行为; context_click(): 右击; doub
阅读全文