Robot Framework 学习_4(python+Robot Framework)

来源:互联网 发布:网络经营许可证查询 编辑:程序博客网 时间:2024/06/04 23:43

Robot Framework框架是用python语言开发,所以本质也可以作为python中的一个库,所以直接编程时作为库引用,基于代码模式来实现基于Robot Framework 的自动化框架测试

from robot.api import TestSuitefrom robot.api import ResultWriterclass BaiduSearchTest(object):    def __init__(self,name,librarys=['SeleniumLibrary']):        # 创建测试套件        self.suite = TestSuite(name)        #导入SeleniumLibrary包        for lib in librarys:            self.suite.resource.imports.library(lib)    #定义变量    def create_variables(self):        #变量表达形式也是${变量名}        variables = {            "${baidu}":"https://www.baidu.com",            "${browser}":"chrome",            "${search_input}":"id=kw",            "${search_btn}":"id=su",        }        for k,v in variables.items():            self.suite.resource.variables.create(k,v)    #测试用例:启动浏览器    def open_browser(self):        #用例名称        test_01 = self.suite.tests.create("启动浏览器")        test_01.keywords.create("Open Browser",args=["${baidu}","${browser}"])  #使用关键字,并赋值        test_01.keywords.create("Title Should Be",args=['百度一下,你就知道'])    #测试用例:百度搜索    def search_word(self):        test_02 = self.suite.tests.create("百度搜索测试")        test_02.keywords.create("Input Text",args=["${search_input}","selenium"])        test_02.keywords.create("Click Button",args=["${search_btn}"])        test_02.keywords.create("Sleep",args=["5s"])    #断言搜索成功后页面标题    def assert_title(self):        test_03 = self.suite.tests.create("页面标题验证")        test_03.keywords.create("Title Should Be",args=['selenium_百度搜索'])    #关闭浏览器    def close_browser(self):        test_04 = self.suite.tests.create("关闭浏览器")        test_04.keywords.create("Close All Browsers")    def run(self):        self.create_variables()        self.open_browser()        self.search_word()        self.assert_title()        self.close_browser()        result = self.suite.run(critical="百度搜索",output="output.xml") #执行测试套件,并输出文档       ResultWriter(result).write_results(report="report.html",log="log.html")  #生成日志及报告文档if __name__=="__main__":    print("用python写的robot framework测试")    suite=BaiduSearchTest("百度搜索测试套件")    suite.run()

如上使用代码形式时,变量定义也是采用${变量名}形式,test_01 = self.suite.tests.create("启动浏览器") 创建测试用例,并设置用例名称
设置关键字并赋值,Open Browser 为框架定义的关键字,或自己定义的关键字,args=["${baidu}","${browser}"] 填写参数,类似于不用python代码时的Open Browser ${URL} ${BROWSER} 这种形式

test_01.keywords.create("Open Browser",args=["${baidu}","${browser}"]) 

执行测试套件

result = self.suite.run(critical="百度搜索",output="output.xml")

生成报告以及日志文档

ResultWriter(result).write_results(report="report.html",log="log.html")

Robot Framework进行了简单的熟悉,使用python语言进行Robot Framework框架的使用,Robot Framework框架对很多类进行了封装,确实省去了自己对类的封装,但是对其关键字语法的使用确实还不太习惯,所以还是根据具体场景来使用吧。强大的Robot Framework 为解决自动化问题而生的框架,更多内容后面再了解记录吧

原创粉丝点击