• python webdriver 测试框架-数据驱动txt文件驱动,带报告的例子


    数据驱动txt文件驱动的方式,带报告

    data.txt:

    gloryroad test||光荣之路

    摔跤爸爸||阿米尔

    超人||电影

    data_driven_by_txt_file.py:

    #encoding=utf-8

    from selenium import webdriver

    import time

    with open(u"e:\数据驱动\data.txt") as fp:

        data=fp.readlines()

    driver=webdriver.Ie(executable_path="e:\IEDriverServer")

    test_result=[]

    for i in range(len(data)):

        try:

            driver.get("http://www.baidu.com")

            driver.find_element_by_id("kw").send_keys(

            data[i].split("||")[0].strip().decode("gbk"))

            driver.find_element_by_id("su").click()

            time.sleep(3)

            assert data[i].split('||')[1].strip().decode('gbk')

            in driver.page_source

            test_result.append(data[i].strip()+u"||成功 ".encode("gbk"))

            print data[i].split('||')[0].strip().decode('gbk')+u"搜索测试执行成功"

        except AssertionError,e:

            print data[i].split('||')[1].strip().decode('gbk')+u"测试断言失败"

            test_result.append(data[i].strip()+u"||断言失败 ".encode("gbk"))

        except Exception,e:

            print data[i].split('||')[1].strip().decode('gbk')+u"测试执行失败"

            test_result.append(data[i].strip()+u"||异常失败 ".encode("gbk"))

    with open(u"e:\数据驱动\result.txt","w") as fp:

                fp.writelines(test_result)

    driver.quit()

    结果:

    D: est>python test.py

    gloryroad test搜索测试执行成功

    摔跤爸爸搜索测试执行成功

    超人搜索测试执行成功

    Result.txt:

    gloryroad test||光荣之路||成功

    摔跤爸爸||阿米尔||成功

    超人||电影||成功

    修改data.txt使断言失败的结果:

    data.txt:

    gloryroad test||光荣之路1

    摔跤爸爸||阿米尔1

    超人||电影1

    D: est>python test.py

    光荣之路1测试断言失败

    阿米尔1测试断言失败

    电影1测试断言失败

    Result.txt:

    gloryroad test||光荣之路1||异常失败

    摔跤爸爸||阿米尔1||异常失败

    超人||电影1||异常失败

     
  • 相关阅读:
    VS2008中 没有QT的代码智能提示
    QT的一个奇怪问题,设置了Qt::Tool后,点击弹出对话框的确定取消按钮,程序直接退出。
    QT线程初次使用。遇到的问题。
    QMenu,QT的菜单添加
    VS2008 不能创建C++的项目,解决方法
    VS2008工具,两种加入库的方法。 设置程序运行时目录
    得到弹出菜单QMenu的高度
    QT 修改QTableWidget表头
    QT两个字符串转化函数,避免文字乱码。
    改变QlistWidget的行高
  • 原文地址:https://www.cnblogs.com/xiaxiaoxu/p/9231506.html
Copyright © 2020-2023  润新知