(七)appium+python测试流程
打开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,如果不报错即安装成功的
生成报告方法
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!'
相关文章