Python写RF测试-SeleniumLibrary关键字封装
2017-12-21 本文已影响79人
测试猴
时隔几日,RF嫁接到原有的自动化测试框架已经基本完成,今天抽点时间给大家分享一下SeleniumLibrary关键字使用
时的二次封装以及自定义关键字,希望对大家在做自动化测试时会有所帮助
来,闲话太多,上代码:
# 获取元素信息
def get_locator(self,locator):
ltype=locator["type"]
value=locator["value"]
return"%s=%s"%(ltype,value)
# 运行测试
def test_run(self):
self.suite.run()
# 创建一个测试
def testes_create(self,string):
test=self.suite.tests.create(string)
returntest
# 启动浏览器
def open_browser(self,http,browserName,obj):
# test = self.testes_create("启动浏览器")
obj.keywords.create("Open Browser",args=[http,browserName])
# 关闭浏览器
def close_browsers(self,test):
#test=self.testes_create("关闭浏览器")
test.keywords.create("Close All Browsers")
# 浏览器最大化
def max_window(self,test):
# test = self.testes_create("浏览器最大化")
test.keywords.create("Maximize Browser Window")
# 文本输入
def input_text(self,locator,text,test):
loc=self.get_locator(locator)
#test = self.testes_create("文本输入")
test.keywords.create("Input Text",args=[loc,text])
# 点击按钮
def click_button(self,locator,test):
loc=self.get_locator(locator)
# test = self.testes_create("点击按钮")
test.keywords.create("Click Button",args=[loc])
# 点击元素
def click_element(self,locator,test):
loc=self.get_locator(locator)
# test = self.testes_create("点击元素")
test.keywords.create("Click Element",args=[loc])
# 等待元素出现
def wait(self,locator,error,test):
loc=self.get_locator(locator)
# test = self.testes_create("等待元素出现")
test.keywords.create("Wait Until Page Contains Element",args=[loc,20,error])
# 获取浏览器窗口的title信息
def get_title(self):
test=self.testes_create("获取")
returntest.keywords.create("Get Title")
# 获取元素文本信息
def get_text(self,locator,test):
loc=self.get_locator(locator)
# test = self.testes_create("获取元素文本信息")
returntest.keywords.create("Get Text",args=[loc])
# 获取元素属性值
def get_attribute(self,locator,test):
loc=self.get_locator(locator)
# test = self.testes_create("获取元素属性值")
returntest.keywords.create("Get Element Attribute",args=[loc])
# 下拉框的选择
def select_list(self,locator,value,test):
loc=self.get_locator(locator)
# test = self.testes_create("下拉框选择")
test.keywords.create("Unselect From List By Value",args=[loc+value])
# 表单嵌套
def select_frame(self,locator,test):
loc=self.get_locator(locator)
# test = self.testes_create("选择表单")
test.keywords.create("Select Frame",args=[loc])
# 退出表单选择
def unselect_frame(self,test):
# test = self.testes_create("退出表单选择")
test.keywords.create("Unselect Frame")
# 点击图片
def click_image(self,locator,test):
loc=self.get_locator(locator)
# test = self.testes_create("点击图片")
test.keywords.create("Click Image",args=[loc])
# 点击链接
def click_link(self,locator,test):
loc=self.get_locator(locator)
# test = self.testes_create("点击链接")
test.keywords.create("Click Link",args=[loc])
# 关闭当前弹出的窗口
def close_window(self,test):
test.keywords.create("Close_Window")
以上是关键字的封装,细心的伙伴会发现,SeleniumLibrary库中的关键字在做实际项目中会有很多操作的关键字没有,比如:
窗口的切换,鼠标的悬停等,这时候就需要自己向SeleniumLibrary库中自行封装添加。
之后讲解一下怎么自定义关键字,还请小伙伴多多支持