对web页面进行测试的方法及装置的制造方法_3

文档序号:9765898阅读:来源:国知局
nternet explorer'}
[0117] 在远程调用时,broWserName和host信息可从定义的环境配置list上获取,使得代 码可W在不同的host主机和browerName浏览器下执行用例。
[0118] 其代码可W如下:
[0119] class GameVZebsi化(unittest.TestCase) clef setup (self): self.base_url-'http://youxi.aaa.coni" 犹1£池扔妹占氏畑〇巧'( command_executor=host, desired_capabiIities= {'p!aiibrm': 'ANY', 'browserName': browser, #初 始化过程中.,it browserName从文件中读取值 'V泣S沁n': ''javascriptEnabled':True}) self.dri ver.implicitly_wait( 10) self.verificationErrors=[] print "Current Run Case: ",str(self.case_id〇) u"初始.化数据《成,.开始执行..."
'del".化 stjogin-sum.is( sel r): ***登录状态检查*** print u"查前执行的巧例若:",洗皮化油_1〇各in_s城批:,_name_ Se I f. d ri ver.geW self. base_url +"/") selfWindow.setWindowSize(self.driver,"£16化1山",'1300', '900') login. login_ByCookie(self.driver,self.base_iirl) time.sleep(2) self.asserTrue(seIf.is_elemeTit_present{By.XPATH, 'V/a[(^class-logout']")) print "by cookie login success^check exist logout button!"
[0121] 上述代码在执行时,可同时将测试用例运行在本机(127.0.0.1)的chrome浏览器、 (192.168.9.131)的 Firef OX 浏览器 W及(192.168.9.201)的 IE 浏览器上。
[0122] 在步骤207中,对该测试结果进行校验,获得校验结果,该校验结果用于指示该测 试结果是否正确。
[0123] 具体的,本发明实施例中,^windows环境下,基于Python语言为例,在对测试结果 进行校验时,可W引入unittest单元测试框架:
[0124] import unittest
[01巧]定义一个测试类并继承unittest .TestCase,且在此类中将用例初始化与清理工 作放在36优口〇和16日扣0*]1〇方法中。
[0126] 在测试类中,定义各个测试用例方法,测试用例方法定义命名时,Wtest开头。
[0127] def test_login_accountName(self):
[0128] """登录帐号名显示检查"""
[01 巧] self.driver.get(self.base-url+"/")
[0130] setWindow.setWindowSize(self.driver,"defalut",'1300','900')
[0131] login.login_ByC〇〇kie(SeIf.driver,self.base_urI)
[0132] time.sleep(2)
[0133] self.assertEqual(self. driver.f ind_element_by_xpath( /span[iclass =' uName']").t ext,'mikezhou')
[0134] 上述用例中,通过使用f ind_element_by_xpath查找对象的方法找到被测程序中 邱ath节点为/span[@class= 'uName' ]的元素,然后再通过text方法获取该元素的文本属 性,最后通过将获取到指定测试元素的文本属性与预期结果的字符串进行比较,通过调用 assertEqual断言方法,最终将获取到的元素中的文本与mikezhou比较是否相等,如果不相 等,则测试用例执行失败,反之,测试用例通过。其中,本发明实施例仅WassedEqual断言 方法进行校验为例进行说明,实际应用中,也可W根据待测试元素的类型使用unittest中 的其它断言方法,女曰 assertTrue、assertNotEqual、assertIsInstance、assertIn^
[0135] 在步骤208中,根据该校验结果生成测试报告。
[0136] 本发明实施例引入测试报告模块,并定义Html报告格式,内容如下:
[0137] import HTMiyTestRunner
[0138] 其测试报告生成代码可W如下:
[0139] 冉定义HTMLTestRunner模块,从HTMLTestRunner类来定义runner方法 if OS,path.exists ("report"): P泳SS else: os.makedirs ("repor[") now二time.strftime ("%Y-%m %H-) filen 诗 me=0s.ge 妃嫁过()+Vvreporf\V'+now 十,,rssiilt.htmr fp二open(filename,"wb") runner二HTMLTes化um似*.HTMLTestRi!rmer(stTeam二f]p,title二 if 测试报告:, descripHon二u,巧例城行情况f)
[0140] 上述代码先定义一个repo^文件夹用来存放测试报告,并定义了测试报告的相关 内容及命名规范,如定义了测试报告命名规则,按当前系统时间生成且后缀为 result.html、测试报告中测试标题及测试描述等相关信息。在执行测试用例时,通过 肌MLTestRunner生成的runner对象来执行用例runner .run (testunit),执行完后,BP可生 成对应的测试报告文件。
[0141] 在步骤209中,通过邮件方式将该测试报告发送至指定的邮件地址。
[0142] 本发明实施例引入相关邮件模块:
[0143] import sm化1ib
[0144] from email.mime.text import MIMEText
[0145] 并定义发送邮件方法:
[0146] def send_Mail(file_new):
[0147] mail_from= 'xxxxxxxxxxxxx'
[0148] main_to = ' xxxxxxxxxxxxx '
[0149] user 打 ame= 'xxxxxxxxxxxxx'
[01 己0] password = "xxxxxxxxx"
[01 己1] smtpServer = "smtp.bbb. com"
[0152] pfile = open(file_new,'rb')
[0153] mail-body二pfiIe.read()
[0154] pfile.closeO
[01 日日] msg=MIMEText(mail_body,_subtype= 'html ',_charset= 'utf-8')
[01日6] msg[ ' Sub ject ' ]二U '自动化测试报告'
[0157] msg[ 'data,]二time ? stoftimei;,%a,%d%b%Y%H: %M: %S%z,)
[01 日引 sm 化二 sm 化 I ib ? SMTP ()
[01 己9] smtp.connect(smtpServer)
[0160] smtp. login(username,password)
[0161] smtp.sendmail(mail_from,main_to,msg.as_string〇)
[0162] sm 化.quitO
[0163] print"send mail complete!"
[0164] 发送报告,查找测试报告目录下,找到最新的测试报告文件,并调用邮件发送函 数:
[016己] def send-Report(testreport):
[0166] result_dir = testreport
[0167] Iist = OS. Iistdir(result_dir)
[0168] I ist.sort(key = lambda fn:os.path.getmtine(result_dir+"\\"+fn))
[0169] print u"最新的测试报告文件:"+lists[-l]
[0170] f ile_new = os .path. join(result_dir,lists[-l])
[0171] print file_new
[0172] send-MaiI(f ile_new)
[0173] 在测试用例执行完后,调用send_Itepo^方法,进行邮件发送:
[0174] ^夺乘杳争X杳夺杳夺夺东^ ^ pr杳帘啄杳课净杳冷味杳來夺冷 if_name_=-__main_': if os.pal;h.exists ("report"): pass else: .OS;.化处.edii?吕("report") now=time"sti-ftime () 巧 I灼mm 技=os.g;et:cwd()+\\r'epon:V\"+now+',resulthtmr ip=open(f'ilename, "wb") mmTe^=HTMLTe
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1