《[精选]web自动化测试技术交流》由会员分享,可在线阅读,更多相关《[精选]web自动化测试技术交流(33页珍藏版)》请在金锄头文库上搜索。
1、Testing Automation,我们的尝试与实践,Web,孙景卫 质量部,目标、原理 我们的实践,你的web自动化的 目标是,?,质量!,(效率),原理?,它是如何工作的,基于协议利用Curl测试页面,Web driver,selenium sli:nim n. 化硒,Quick And Dirty,Is NOT always bad.,Selenium IDE,selenium core,Web IDE,Remote Control,Proxy/Driven mode,我们的实践,尽量避免/减少界面测试,少做一些case,考虑半自动化 (人工验证),每个case不一定要做完,如何处理业
2、务变更?,利用ID/Name定位元素 向FE展示自动化成果 和FE约定规则 设定UI Map,框架,设计实例,WAF 1.0(web automation framework),Excel+python+selenium,WAF 1.0:业务,WAF 1.0:数据,Data Provider,TestNG,Base Case,测试用例,结果校验库,结果报表,业务封装库,UI Map,日志库,Selenium,IDE,WAF 2.0 Java+selenium+testNG,WAF 2.0:IDE修改,Data Provider,TestNG,Base Case,测试用例,结果校验库,结果报表,
3、业务封装库,UI Map,日志库,Selenium,IDE,WAF 2.0 Java+selenium+testNG,WAF 2.0: UI map,23,Data Provider,TestNG,Base Case,测试用例,结果校验库,结果报表,业务封装库,UI Map,日志库,Selenium,IDE,WAF 2.0 Java+selenium+testNG,DataProvider表示这个函数是一个数据提供者 可以从Excel,db,xml等中读取数据,并按指定约定的格式返回。,Test表示这个函数是一个测试 case,测试 case和DataProvider之间通过name关联,Te
4、st参数必须和DataProvider return 的内容一致。,WAF 2.0: testNG,WAF 2.0: report,WAF 2.0: report,Ficus,Robot Framework,关键字驱动,提供了基于表格形式的测试框架 可以方便加载不同的执行引擎,并支持自定义扩展库,Ficus Lib库,自定义扩展的FicusLib,加载Web自动化执行引擎,WatiN库,开源的Web执行引擎,实现对页面元素的操作。 基于C#语言实现;,Ficus,Robot Framework,WatiN库,框架,设计,执行步骤,结果验证,Get_html_source,Html_parser
5、/BeautifulSoup,Capture_screen_*,PIL,Ssh/paramiko,MysqlDB,Libcurl/httplib,测试Ajax你所做的只有:,def wait_for_value(self, locator, pattern,timeout=60): import re sel = self.selenium re_pattern=pile(pattern) for i in range(timeout): try: if re_pattern.search(sel.get_value(locator): break except: pass time.sleep(1) else: #error handling pass,wait!,扩展 selenium,Dom以及XPath,/divstart_with(style,style_bold) and contains(text(),hello,world)/./img1,谢谢!,Sunjingwei .com,演讲完毕,谢谢观看!,