美文网首页软件测试Python教程专栏
ui自动化-加入yaml文件管理元素

ui自动化-加入yaml文件管理元素

作者: wenshuang_he | 来源:发表于2020-08-19 13:54 被阅读0次

介绍:

采用python3语言规则,利用pytest框架管理用例,selenium框架定位元素并执行操作,yaml文件管理元素定位路径,allure模块美化测试报告。

目录结构

1、新建文件夹element_yaml

存放yaml文件

2、文件夹下,新建yaml文件

新建file文件,命名规则xxx.yaml

3、文件中存放元素定位

备注+变量名和元素路径

4、把打开yaml文件的方法写到conftest.py文件里面

写进conftest.py文件,方便写用例时调用.png

5、测试用例中使用conftest.py文件中的方法

conftest.py文件中的方法名直接入参,在通过变量名取值

附上代码:

  • yaml文件内容
---
#用户名
yh: //input[@placeholder="请输入用户名"]

#密码
mm: //input[@placeholder="请输入密码"]

#获得验证码
yzm: //div[@class="verificationCode"]

#输入验证码
sryzm: //input[@placeholder="请输入验证码"]

#点击登录
dl: //button[text()="登录"]
  • conftest.py文件内容
import yaml
import pytest
@pytest.fixture()
def zy():
    with open(file="zz./element_yaml/aa.yaml", mode="r", encoding="utf-8")as fm:
        w = yaml.load(fm, Loader=yaml.FullLoader)
    return w
  • test测试用例内容
@allure.feature("克隆菜单包")
class Test_cdb():
    @allure.story('正常登录')
    @allure.severity(allure.severity_level.BLOCKER)  # 优先级
    @allure.description('用户名和密码正确,正常登录')
    @allure.testcase("https://xxx.xxx.xxx/", "测试环境地址,请点击跳转")
    def test_login(self,zy):
        # 打开登录界面
        driver.get('https://txqa.ziyun-cloud.com/zyconsole/')
        driver.maximize_window()  # 最大化浏览器
        driver.implicitly_wait(8)  # 设置隐式时间等待
        # 输入用户名
        with allure.step('输入用户名:'):
            dr.send_keys('输入用户名',zy["yh"], 'admin')
        # 输入密码
        with allure.step('输入密码:'):
            dr.send_keys('输入密码', zy['mm'], '123456')
        # 获取验证码
        text = dr.get_text('获取四位验证码', zy['yzm'])
        # 输入验证码
        with allure.step('输入验证码:'):
            dr.send_keys('输入验证码',zy['sryzm'], text)
        # 点击登录
        with allure.step('点击登录'):
            dr.click('点击登录按钮', zy['dl'])
            # 异常处理
            try:
                text = driver.find_element_by_xpath("//span[text()='首页']").text
                assert text in driver.page_source
            except Exception as e:
                dr.screenshot('获取异常截图', '异常截图')
                log.error('登录功能报错信息' + str(e))
                allure.attach("{0}".format(e), "登录功能报错日志")

相关文章

网友评论

    本文标题:ui自动化-加入yaml文件管理元素

    本文链接:https://www.haomeiwen.com/subject/jtmidktx.html