(七)appium+python测试流程

发布时间:2019-09-11 07:42:16编辑:auto阅读(1929)

    • 打开appium server

    • 打开driver

    • 运行case

    • 关闭driver

    • .生成报告html

    • 关闭appium server

    • 发送邮件报告

    appium server启动


    AppiumServer.py

    • startServer

    • stopServer

    • restartServer

    .生成报告:HTMLTestRunner


    下载http://tungwaiyip.info/software/HTMLTestRunner_0_8_2/HTMLTestRunner.py HTMLTestRunner.py文件

    再执行

    (1)Python

    (2)import sys

    (3)print sys.path

    找到一个site-packages的文件夹的路径,将HTMLTestRunner.py文件拷贝到site-packages的文件夹下

    在py文件里import  HTMLTestRunner,如果不报错即安装成功的

    HTMLTestRunner.py

    生成报告方法


    TEST_OUTPUT_DIR:测试报告输出路径,默认为根目录            TEST_OUTPUT_FILE_NAME:测试报告输入文件名,默认为index.html       :return:       '''

    测试报告输出路径,默认为根目录    output_dir = ''

    测试报告输入文件名    single_file = 'index.html'

    测试报告文件所在目录    file_path = output_dir +'/'+single_file

    获取权限    fp = file(file_path, 'wb')    htmlrunner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=‘test’, description='a test...')    htmlrunner.run(suite)

    批量运行case


    #执行测试用例方案一如下: #8.2.1先构造测试集 #8.2.1.1实例化测试套件    suite=unittest.TestSuite() #8.2.1.2将测试用例加载到测试套件中。 #执行顺序是安装加载顺序:先执行test_case2,再执行test_case1    suite.addTest(Test('test_case2'))    suite.addTest(Test('test_case1')) #8.2.2执行测试用例 #8.2.2.1实例化TextTestRunner类    runner=unittest.TextTestRunner() #8.2.2.2使用run()方法运行测试套件(即运行测试套件中的所有用例)    runner.run(suite)

    '''    '''#执行测试用例方案二如下:(最优)#8.3.1构造测试集(简化了方案二中先要创建测试套件然后再依次加载测试用例) #执行顺序同方案一:执行顺序是命名顺序:先执行test_case1,再执行test_case2    test_dir = './'    discover = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py') #8.3.2执行测试用例 #8.3.2.1实例化TextTestRunner类    runner=unittest.TextTestRunner() #8.3.2.2使用run()方法运行测试套件(即运行测试套件中的所有用例)    runner.run(discover)  

    结果发送至邮件


    import smtplib

    from email.mime.text import MIMEText

    server_host = 'smtp.163.com'

    header='ynoteios appium testing result'

    to='ynotetest30@163.com;hzwujia@corp.netease.com'

    frome='ynotetest30@163.com'

    with open(file, 'rb')as f:

    mail_body = f.read()

    msg = MIMEText(mail_body, 'html', 'utf-8')

    msg['subject'] = header

    msg['to'] = to

    msg['from'] = frome

    s = smtplib.SMTP()

    s.connect(server_host)

    s.ehlo()

    s.login('ynotetest30@163.com','abc123')

    s.sendmail(msg['from'], msg['to'], msg.as_string())

    print 'send email sucess!'


关键字