IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 网页端软件产品的UI自动化构思 -> 正文阅读

[开发测试]网页端软件产品的UI自动化构思

1.采用文本对象模型 进行编码

from time import sleep
class BasePage():
    # 临时driver
    # driver=webdriver.Chrom()
    # 构造函数
    def __init__(self,driver):
        self.driver=driver

    # 访问rul
    def open(self,url):
        self.driver.get(url)
    #     元素定位
    def locat(self,loc):
        return  self.driver.find_element(*loc)
#     输入
    def input(self,loc,txt):
        self.locat(loc).send_keys(txt)
# 点击
    def click(self,loc):
        self.locat(loc).click()
# 等待
    def wait(self,txt):
        sleep(txt)

业务层面实现:login页面

yaml文件中的内容 ,这里主要用到yaml了对应的属性名:

#test1
name:xum
pwd:21233
class loginPage(BasePage):
    # 页面URL
    url=''
    # 页面核心元素   说明:第一属性代表 你用什么定位 第二个属性市改定位的选择器值
    user=('name','account')
    pwd=('name','pwd')
    button=("xpath",'//button[text()=”登录“]')
    def login(self,name,pwd):
        self.open(self.url)
        self.input(self.user,name)
        self.input(self.pwd,pwd)
        self.click(self.button)

# 通过yaml文件实现数据驱动
@dtt
class case(unittest.TestCase):
    @classmethod
    def setUpclass(cls):
        cls.driver = webdriver.Chrome()
        cls.lp = loginPage(cls.driver)
    @file_data('../tes.yaml')
    def test_01(self,name,pwd):
        self.lp.login(name, pwd)
if __name__=="__main__":
    unittest.main()

关联业务操作:index(注意变化,集成到unittest中已经用红色进行标识)

class IndexPage(BasePage):
    url=""
    index_puit=('link  text','退出')
    index_search=('id','search-input')
    index_search_button=('id','ai_buttone')
    def quit(self):
        self.open(self.url)
        self.click(self.index_puit)
    def search(self,txt):
        self.open(self.url)
        self.input(self.index_search,txt)
        self.click(self.index_search_button )
# 通过yaml文件实现数据驱动  还是要在unittest集成进来
@dtt
class case(unittest.TestCase):
    @classmethod
    def setUpclass(cls):
        cls.driver = webdriver.Chrome()
        cls.lp = loginPage(cls.driver)
        cls.ip=IndexPage(cls.driver)
    @file_data('../tes.yaml')
    def test_01(self,name,pwd):
        self.lp.login(name, pwd)
    def test_02(self):
        self.ip.search('手机')
if __name__=="__main__":
    unittest.main()

根据以上 构思可以对测试内容进行大量添加!结构模式理解清楚

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:40:45  更:2022-04-04 12:41:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:25:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码