美文网首页软件测试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