python web自动化测试 设计报告_Web端自动化测试--Python+selenium+unittest

Page Object 是 Selenium 自动化测试项目开发实践的最佳设计模式之一,Page Object 的主要体现于对界面交互细节的封装,这样可以使测试案例更关注与业务而非界面细节,提高测试案例的可读性。

认识 Paget Object

一、Page object 简称POM框架

POM提供了一种在UI层操作、业务流程与验证分离的模式,这使得测试代码变得更加清晰和高可读性;

对象库与用例分离,使得我们更好的复用对象,甚至能与不同的工具进行深度结合应用;

可复用的页面方法代码会变得更加优化;

更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素。例如我们要回到首页,方法名命名为: gotoHomePage(),通过方法名即可清晰的知道具体的功能实现。;

二、Page object设计模式的优点

减少代码的重复;

提高测试用例的可读性;

提高测试用例的可维护性,特别是针对 UI 频繁变化的项目;

实战--博客园登录自动化测试发送测试报告

思路分析:

浏览器封装;

页面截图函数封装,偏于后续浏览查看;

页面元素基础类操作封装,包含断言设计;

登录元素操作封装;

登录测试用例设计;

代码参考

myunit.py

# 浏览器驱动封装

'''

@author: Yvon_早安阳光

'''

from selenium import webdriver

import unittest

class MyTest(unittest.TestCase):

def setUp(self):

self.driver = webdriver.Firefox()

def tearDown(self):

self.driver.quit()

function.py

'''

@author: Yvon_早安阳光

'''

import time

from selenium import webdriver

#封装截图函数

def insert_img(driver,filename):

file_path = 'insert_img/'

now = time.strftime("%Y-%m-%d %H_%M_%S")

screen_name = file_path + '\\' + now + filename

driver.get_screenshot_as_file(screen_name)

# 登录成功截图

def success_img(driver,file_name):

filepath = 'success_img/'

now = time.strftime("%Y-%m-%d %H_%M_%S")

screenname = filepath + '\\' + now + file_name

driver.get_screenshot_as_file(screenname)

if __name__ == '__main__':

driver = webdriver.Firefox()

driver.quit()

Base.py

# 页面元素基础类操作封装

'''

@author: Yvon_早安阳光

'''

class Page(object):

#BasePage封装所有页面都公用的方法,例如driver, url ,FindElement等

login_url = "https://passport.cnblogs.com/user/signin"

#实例化BasePage类时,最先执行的就是__init__方法,该方法的入参,其实就是BasePage类的入参。

#__init__方法不能有返回值,只能返回None,self只实例本身,相较于类Page而言

def __init__(self,selenium_driver,base_url = login_url,parent = None):

self.base_url = base_url

self.driver = selenium_driver

self.timeout =10

self.parent = parent

'''通过title断言进入的页面是否正确。使用title获取当前窗口title,检查输入的title是否在当前title中,返回比较结果(True 或 False)'''

def on_page(self):

return self.driver.current_url == (self.base_url

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是基于 PythonSeleniumunittest 的 UI 自动化测试框架搭建步骤: 1. 安装 PythonSelenium 在开始前,需要确保你的电脑上安装了 PythonSelenium。你可以在 Python 官网下载 Python 并安装,安装完成后,在命令行中输入以下命令安装 Selenium: ``` pip install selenium ``` 2. 创建一个测试项目 在你的工作目录中创建一个文件夹来存放你的测试项目,例如 `MyTestProject`。 3. 创建测试用例 在项目文件夹中创建一个文件来存放测试用例,例如 `test_example.py`,并在该文件中写入以下测试用例: ```python import unittest from selenium import webdriver class ExampleTest(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() def tearDown(self): self.driver.quit() def test_example(self): self.driver.get("https://www.example.com") self.assertIn("Example Domain", self.driver.title) if __name__ == '__main__': unittest.main() ``` 这个测试用例会打开 Example Domain 网站,并检查页面标题是否包含 "Example Domain"。 4. 运行测试用例 在命令行中进入项目文件夹,并执行以下命令来运行测试用例: ``` python test_example.py ``` 如果一切顺利,你将会看到测试用例执行成功的结果。 5. 扩展测试用例 你可以根据需要扩展测试用例,例如添加更多的测试步骤、使用断言来检查页面元素、使用数据驱动来进行多组数据的测试等等。 以上就是一个基于 PythonSeleniumunittest 的 UI 自动化测试框架搭建的基本步骤,你可以在此基础上进行进一步的优化和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值