
自动化
文章平均质量分 69
进击的小陈
记录而已。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
appnium基础环境安装
需要安装以下环境需要安装Microsoft .Net Framework 4.5需要安装node.js需要安装appium desktop程序需要安装JDK1.8及以上版本需要安装安卓开发工具需要安装appium python客户端真机或者模拟器安装Microsoft .Net Framework 4.5(如电脑已经安装4.5及以上版本,跳过此步骤)首先去官网下载:https://www.microsoft.com/en-au/download/details.aspx?id=306原创 2021-10-23 19:20:41 · 6602 阅读 · 0 评论 -
pytest框架的基本功能使用(二)
参数化在测试用例前加上@pytest.mark.parametrize(“参数名”,列表数据)参数名,用来接收每一项数据,并作为测试用例的参数.列表数据,一组测试数据.例子:示例一:incorrect_datas = [ {"user": "xiaotiancai", "passwd": "", "check": "请输入密码"}, {"user": "", "passwd": "888888", "check": "请输入用户名"}, {"user": "123456原创 2021-10-22 23:28:09 · 919 阅读 · 1 评论 -
pytest框架的基本功能使用(一)
前言pytest是非常成熟、功能强大的测试框架。具有非常多的优点:简单灵活,容易上手,支持参数化自动发现测试模块和测试方法断言使用assert + 表达式即可可以设置测试会话级、模块级、类级、函数级的fixtures。共享前置、后置具有丰富的插件库,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)原创 2021-10-20 16:28:51 · 775 阅读 · 1 评论 -
基于PageObject模式设计的web自动化测试示例
PageObject模式PageObject模式:顾名思义,就是页面对象。它的核心思想是分层设计, 强调测试、逻辑、数据和驱动相互分离。一般分层会分为:1.对象库层2.逻辑层3.业务层4.数据层但是,具体分层,还是要根据系统去设计。目录结构下面,是基于PageObject模式,设计课堂派的登录测试。先说一下目录结构:Common:存放公共封装类,公共配置文件。Outputs:存放输出,日志、截图、测试报告等。PageLocators:存放各个界面的定位。PageObjects:存原创 2021-10-17 12:26:13 · 547 阅读 · 0 评论 -
selenium中的上传操作
input标签类型如果是input,可以直接输入路径,那么我们就直接调用send_keys输入路径。比如163邮箱写信时的添加附件功能,就是input标签:实现代码:from selenium import webdriverfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.supp原创 2021-10-11 12:50:12 · 485 阅读 · 0 评论 -
selenium中通过js更改界面属性并传值
前言在web自动化测试时,有一些界面的选择框,并不好去定位,或者限制比较多。在这种场景下,可以通过js操作,更改界面属性等,达到输入的目的。demo比如12306界面,选择城市,要定位输入框中的城市,直接使用元素定位可能还比较困难:首先观察界面上的html代码,当我们选择上海城市时,输入框上面的input元素的value值会发生变化:那么我们就可以直接通过js更改这两个元素的value值,来达到输入城市的目的:from selenium import webdriverchr_drive原创 2021-10-10 16:13:54 · 1414 阅读 · 0 评论 -
selenium中js滚动条操作
滚动至可见区域滚动至可见区域,首先定位到元素,然后执行js语句,下面是百度搜索腾讯课堂,滚动至腾讯课堂_百度百科后点击:import timefrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_c原创 2021-10-09 22:37:31 · 583 阅读 · 0 评论 -
selenium中键盘操作
前言在web测试中,可能会遇到一些需要键盘操作。在selenium中,提供了一个Keys类,来处理键盘操作。Keys类中,几乎提供了所有的键盘快捷键组合操作。DEMO举个例子,在百度首页,输入内容后,点击enter键,删除最后一个字符点击enter键,全选、复制、粘贴:# @Time : 2021/10/9 20:12# @Author : admin# @File : sel_lesson_keyboard.pyfrom selenium import webdriverfrom se原创 2021-10-09 20:43:51 · 2238 阅读 · 0 评论 -
selenium中的下拉列表的操作
下拉列表,非select元素在web界面上,有一些下拉列表里,并不是select选项元素,处理这种下拉框时,主要是元素定位。比如百度首页的,设置按钮,鼠标悬浮时,出来下拉列表:选择选项的实现代码:from selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver原创 2021-10-09 19:56:00 · 3591 阅读 · 0 评论 -
selenium中鼠标操作方法
前言在web测试中,会遇到一些需要鼠标操作的东西,比如单击、双击、悬浮、拖拽等。那么这种情况,要怎么处理呢?selenium给我们提供了一个类来处理这类事件——ActionChains。ActionChains可以对需要模拟鼠标操作才能进行的情况。ActionChains的方法click(on_element=None) ——单击鼠标左键click_and_hold(on_element=None) ——点击鼠标左键,不松开context_click(on_element=None) ——点击鼠原创 2021-10-09 15:19:54 · 2668 阅读 · 0 评论 -
selenium中的三种切换:Windows窗口,iframe,alert弹窗
前言在selenium的web自动化当中会遇到一些窗口跳转或者对话框的弹出。在selenium中,提供了三种切换:Windows窗口切换,iframe切换,alert弹窗切换。Windows窗口切换直接举例子,比如我们在百度搜索“腾讯课堂”,在搜索结果中点击,会弹出一个新的窗口,那么如果我要在新的窗口操作,那么我们就需要进行切换,切换后在新的界面点击登录按钮:具体实现代码:from selenium import webdriverfrom selenium.webdriver.support原创 2021-10-08 21:55:04 · 10000 阅读 · 0 评论 -
selenium中三种等待方式:sleep,implicitly_wait,WebDriverWait
三种等待方式:sleep强制等待, sleep,设置等待多长时间,就要等待多长时间。通常使用这个等待方式的场景为,静态元素的加载,不需要从服务器上请求,可以很笃定的知道,多少时间之内,这个元素肯定会加载出来。比如百度首页的登录按钮。点击登录时,会弹出登录窗口。但这个窗口其实在访问百度首页时就已经加载好了,点击登录时,并不是从服务器上请求再加载,而是直接加载静态页面,不受网速的影响,3s之内,肯定可以加载完成:from selenium import webdriver# 导入sleepfrom原创 2021-10-08 14:21:00 · 18429 阅读 · 2 评论 -
selenium的八种定位方式之:id、name、tag_name、class_name、link_text、partial_link_text、xpath
find_element_by_id,通过id属性查找元素,返回一个webElement对象我们以百度首页为例子,访问百度首页,打开开发者管理工具,定位到输入框,查看输入框的属性,有一个id的属性:通过find_element_by_id查找这个元素:chrome_driver.find_element_by_id('kw')使用这个方法定位输入框并输入内容:from selenium import webdriver# 创建谷歌浏览器对象chrome_driver = webdr.原创 2021-10-06 21:27:38 · 12008 阅读 · 0 评论 -
webdriver一些常用方法
前言:本文主要是记录、总结一些webdriver的基本方法。首先,导入webdriver库:from selenium import webdriver导入后,第一步创建webdriver对象,这里创建谷歌浏览器的对象:chrome_driver = webdriver.Chrome()下面就开始使用浏览器对象调用方法。get方法, 访问链接,比如访问百度:chrome_driver.get("http://www.baidu.com")maximize_window方法,最大原创 2021-10-06 11:39:26 · 2250 阅读 · 0 评论 -
selenium webdriver环境安装
安装python网上有很多安装教程,大家自行百度。下载驱动首先,要确定你的浏览器的版本,根据浏览器及对应的版本,去下载对应版本的驱动。我的是谷歌浏览器,所以我下载的是谷歌驱动。查看浏览器版本:下载驱动:http://npm.taobao.org/mirrors/chromedriver/下载驱动后,将驱动放到python的安装目录:安装selenium安装selenium有两种方法,一个是通过pip命令安装:pip install selenium还有一种方法是通过pycha.原创 2021-10-05 17:42:56 · 4081 阅读 · 1 评论 -
通过pycharm快速管理、更改镜像源
打开pycharm,打开settings界面:选择Project Interpreter:点击"+":点击Manage Repositories:管理/添加镜像源地址:原创 2021-10-05 16:30:24 · 985 阅读 · 0 评论 -
HTML部分常用标签示例
HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。 声明, 声明必须在html标签之前,是html文本的第一行,但它并不是html标签。注意,只有给文本写了 声明,这样浏览器才能获知文档类型。正确的呈现html界面。 声明html格式如下( 声明不是一对,只写一次):<!DOCTYPE html>注释,被注释的信息,是不会显示到浏览器当中,注释标签的形式如下:<!-原创 2021-10-04 18:51:29 · 489 阅读 · 0 评论 -
http请求与响应内容解析
1.http是什么?超文本传输协议(Hyper Text Transfer Protocol,HTTP),是一个请求-响应协议。通俗来讲,就是由Http请求协议和Http响应协议组成。2.请求的格式请求行;请求头信息;空行;请求体。客户端发送给服务器的请求格式,就是由上面的格式及部分组成,否则服务器将无法解析。请求首行里的内容主要包括:请求方式、资源路径、使用的协议及对应的协议版本;请求头里的信息,是若干个属性、以key:value的形式组成;空行主要是为了分割请求头和请求体的。原创 2021-08-12 17:25:10 · 2340 阅读 · 0 评论 -
单元测试简单示例:python+unittest+ddt+HTMLTestRunner+config配置文件(重在思路)
这是一个基于数学运算加减法的单元测试示例。重点在于单元测试的设计思路梳理。目的:测试数据从excel中获取,执行后并将结果写入excel,并生成报告。重点:可根据代码中的注释进行帮助理解设计思路。下面是我的测试结构。下面来解释一下各个目录及对应文件的作用:【Unit_Test】项目根目录。【Calculation_Method】是存放测试代码的目录。【Calculation.py】是被测试的代码类,里面就是我的数算运算方法。【Cases_Excels】是存放用例excel的目录。【cas原创 2021-05-31 22:32:16 · 893 阅读 · 8 评论 -
python+selenium下的Chrome options参数使用
Chrome Options 是一个配置 Chrome启动时属性的类。通过这个类,可以为chrome配置一些参数,以此来满足一些特殊配置要求。Chrome Options比较常用的行为有以下几种:1.禁止图片和视频的加载:提升网页加载速度。2.添加代理:用于翻墙访问某些页面,或者应对IP访问频率限制的反爬技术。3.使用移动头:访问移动端的站点,一般这种站点的反爬技术比较薄弱。4.添加扩展...原创 2020-04-19 16:50:50 · 11628 阅读 · 0 评论 -
selenium+python+unitest实现163邮箱发送邮件
最近在学习python自动化,尝试着写了一个使用pycharm+python+selenium实现的163邮箱登录,发送邮件的自动化。工具:pycharm语言:python框架:selenium首先进行环境搭建,环境搭建可以在网上搜索一下,网上有很多教程都可以使用。环境搭建完成以后,以下为实现163邮箱发送邮件自动化的实现:...原创 2020-04-05 21:25:46 · 3363 阅读 · 0 评论