python+selenium的环境准备,请自行安装完成,这里直接贴代码,方便做项目时直接使用. import time from selenium import webdriver from PIL import Image #创建一个浏览器对象 browser = webdriver.Chrome() browser.maximize_window() #打开登录页面 browser.get('http://www.chaojiying.com/user/login/') #定位到账号的输入…
pytest的pytest-html插件是一个很方便的测试报告,运行自动化测试用例时,pytest后加上参数即可 allure是一个测试报告的框架,相比pytest-html的优势就是“逼格” 他的优点除了好看,还有几点: 1.可以把测试的步骤都加到报告中 2.可以加入自定义的截图或错误截图 3.使用jenkins持续集成,会有一个趋势图,可以展示过往测试用例的趋势 4.可以直接转换成中文 5.有多种装饰器可供选择 安装: 1.java环境,1.8以上 2.在安装的时候遇到好多坑,主要就是版本问…
使用的版本是python 3,其中HTMLTestRunner是修改版本,参考以下博客并下载 https://blog.csdn.net/zhanin123/article/details/78950136 import unittest import time import HTMLTestRunner from selenium import webdriver class MyTestCase(unittest.TestCase): def setUp(self): self.driver…
1.什么是PO模式? PO是Page Object的缩写 PO模式是自动化测试项目开发实践的最佳设计模式之一,讲页面定位和业务操作分开,也就是把对象的定位和测试脚本分开,从而提供可维护性. 主要有以下几种分层方式:1)两层: 对象逻辑层+业务数据层2)三层:对象库层+逻辑层+业务数据层3)四层:对象库层+逻辑层+业务层+数据层 2.PO模式的优势 1)效率高 :PO模式的逻辑层方法有具体定义,元素发生变化修改逻辑层,业务层不变.这样看来结构简单清晰,舒服更符合人类习惯, 普通方式就是继续堆cas…
1.TestCases目录下的模块 TestCases目录下是存放测试用例的目录. TestCases目录下的测试用例采用unittest框架来构建. 例如:登录功能的测试用例.(test_1_login.py) # --^_^-- coding:utf-8 --^_^-- # @Remark:测试登录功能 import unittest from selenium import webdriver from PageObjects.login.login_page import LoginPa…
1.PageLocators目录下的具体模块 2.PageLocators目录下主要放置个页面的元素定位.用于统一管理个页面的定位元素. 例如:登录页面的元素定位login_page_locator.py # --^_^-- coding:utf-8 --^_^-- # @Remark:登录页面元素定位 from selenium.webdriver.common.by import By class LoginPageLocator: # 用户名输入框 user_loc = (By.XPATH…
1.Common目录下的具体模块讲解. 2.basepage.py basepage.py模块里面是封装的对元素的操作.例如:查找元素.点击元素.文本输入等等. # --^_^-- coding:utf-8 --^_^-- # @Remark:webdriver的封装 from Common import logger import logging import time import datetime from selenium.webdriver.support.wait import We…
1.main.py模块的功能 最后就是要有一个项目入口,并且是需要加载测试用例集. # --^_^-- coding:utf-8 --^_^-- # @Remark:运行入口 """ 记录一下用例执行过程 - 日志 如果用例失败 - Trackback报错信息 - 失败了截图. 记录一下, 用例的运行时间 - 起始 - 等待的时候,等待时长. 用例.页面对象当中. 用例 = 页面对象 + 测试数据 断言失败了!! 页面对象方法执行的时候,报错了!! 页面对象-任意功能 = 等…
1.TestDatas目录的功能 TestDatas目录下存放的是测试数据,比如:登录功能的测试用例数据. # --^_^-- coding:utf-8 --^_^-- # @Remark:登录测试数据 from TestDatas.Comm_Datas import web_login_url # 正常场景 success_data = {"user":"admin","pwd":123456,"check":web_log…
1.PageObjects目录下的模块 该目录下是存放各页面功能点. 比如:login_page.py模块下就是存放登录页面上的各个功能点的.(登录功能.获取登录失败的提示信息) # --^_^-- coding:utf-8 --^_^-- # @Remark:登录页面 from Common.basepage import BasePage from PageLocators.login.login_page_locator import LoginPageLocator as loc cla…