300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 5 编写自动化测试脚本

5 编写自动化测试脚本

时间:2024-04-17 23:09:17

相关推荐

5 编写自动化测试脚本

上面已经对页面元素进行了封装,接下来就是动手写脚本了。

这里写了2个脚本,直接上代码:

1、test_baidu_news.py

# -*- coding:utf-8 -*-import unittestimport sys,osfrom framework.browser_engine import BrowserEnginefrom pageobjects.home_baidu import Home_Baidufrom pageobjects.news_page import News_Pageimport tracebackclass test_Baidu_News(unittest.TestCase):def setUp(self):browser = BrowserEngine()self.driver = browser.getdriver()browser.open_browser()def tearDown(self):test_method_name = self._testMethodNamerunlog_path = r'F:\python_autotest\runlog' os.chdir(runlog_path)method_path = runlog_path + test_method_nameprint(method_path)if sys.exc_info()[0]:if os.path.exists(method_path):os.chdir(method_path)self.driver.get_screenshot_as_file('fail.png')with open('log.txt', 'w') as e:e.write(str(traceback.format_exc()))else:os.mkdir(test_method_name)os.chdir(test_method_name)self.driver.get_screenshot_as_file('fail.png')with open('log.txt', 'w') as e:e.write(str(traceback.format_exc()))super(test_Baidu_News, self).tearDown()self.driver.quit()def test_news_zhaolei(self):hb = Home_Baidu(self.driver)hb.news_ele().click()hb.sleep(1)np = News_Page(self.driver)np.news_input_ele().send_keys(u"赵雷")np.news_submit_ele().click()hb.sleep(2)if __name__ == '__main__':unittest.main()

这里的重点在于tearDown方法,我增加了脚本执行失败自动截图并打印出错误信息的功能,用于脚本失败原因定位。

这里多说下,测试用例最好都以test_开头,因为涉及到后面批量执行脚本,具体原因自行百度。

下面把另一个脚本的代码也贴出来吧,其实是一样的。

2、test_baidu_vedio.py

# -*- coding:utf-8 -*-import unittestimport sysimport osimport tracebackfrom framework.browser_engine import BrowserEnginefrom pageobjects.home_baidu import Home_Baidufrom pageobjects.vedio_page import Vedio_Pageclass test_baidu_vedio(unittest.TestCase):def setUp(self):browser = BrowserEngine()self.driver = browser.getdriver()browser.open_browser()def tearDown(self):test_method_name = self._testMethodNamerunlog_path = r'F:\python_autotest\runlog' os.chdir(runlog_path)method_path = runlog_path + test_method_nameprint(method_path)if sys.exc_info()[0]:if os.path.exists(method_path):os.chdir(method_path)self.driver.get_screenshot_as_file('fail.png')with open('log.txt','w') as e:e.write(str(traceback.format_exc()))else:os.mkdir(test_method_name)os.chdir(test_method_name)self.driver.get_screenshot_as_file('fail.png')with open('log.txt', 'w') as e:e.write(str(traceback.format_exc()))super(test_baidu_vedio, self).tearDown()self.driver.quit()def test_vedio_zhoujielun(self):hb = Home_Baidu(self.driver)hb.vedio_ele().click()hb.sleep(1)vp = Vedio_Page(self.driver)vp.vedio_input_ele().send_keys(u"周杰伦")vp.vedio_submit_ele().click()vp.sleep(2)if __name__ == '__main__':unittest.main()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。