亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
學(xué)習(xí)Selenium Python版初的一個(gè)小想法
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2015/3/13 15:15:26 ] 推薦標(biāo)簽:Selenium 單元測(cè)試 測(cè)試工具 Python 代碼 XML

  第二步, 根據(jù)每個(gè)testcase建立TestCase類的實(shí)例:
class TestCase:
def __init__(self, _testcase):
self.name=_testcase.attrib['name']
_list=[]
self.actions=[]
try:
_list=_testcase.getchildren()
except Exception,msg:
print msg
self._executor=_testcase.find('Executable').text
self.address=_testcase.find('Address').text
for act in _testcase.findall('Action'):
if act.tag=='Action':
_action=Action(act)
self.actions.append(_action)
def setUp(self):
if 'Chrome'==self._executor:
self.executor=webdriver.Chrome()
elif 'Firefox'==self._executor:
self.executor=webdriver.Firefox()
else:
self.executor=webdriver.Ie()
self.executor.get(self.address)
def tearDown(self):
self.executor.quit()
def execute(self):
logging.debug("Start to execute the testcase:%s" % self.name)
print "TestCaseName:%s" % self.name
try:
self.setUp()
for action in self.actions:
action.execute(self.executor);
self.tearDown()
Assert.AssertPass("TestCase:%s " % self.name)
except Exception as error:
print error
self.tearDown()
Assert.AssertFail("TestCase:%s " % self.name)
  第三步,根據(jù)xml里定義的type來(lái)觸發(fā)動(dòng)作,我簡(jiǎn)單的列了下:
def execute(self,executor):
_type=self._actions['Type']
self.getBy(self._actions)
try:
if self.by!=None:
ele=self.findElement(executor)
Assert.AssertIsNotNull(ele,"   ".join("Find element by %s:%s" % (str(self.by),self.by_value)))
if _type=='Input':
ele.send_keys(self._actions['Content'])
time.sleep(3)
elif _type=='Click':
ele.click()
elif _type=='Scroll':
webOperate.page_scroll(executor)
elif _type=='Back':
webOperate.goBack(executor)
else:
print "   ",
Assert.AssertFail(self._name)
print "No such action:%s" % _type
if self._expected is not None:
Assert.AssertIsTrue(self.isExpected(executor),"   ".join("Find element by %s:%s" % (str(self.by),self.by_value)))
print "   ",
Assert.AssertPass(self._name)
except AssertionError:
print "   ",
Assert.AssertFail(self._name)
raise AssertionError(self._name +" execute failed")
  看一個(gè)運(yùn)行的截圖

  代碼比較簡(jiǎn)單,原理也很清晰,是解析XML文件,然后調(diào)用相應(yīng)的selenium代碼,但是如果我們?cè)偕钊氲南胂耄诮馕鲞@些XML的時(shí)候,是不是可以以更友好的方式來(lái)展示生成的代碼呢,甚或者以UI的方式,一條條展示。然后再提供可編輯功能?甚或者再提供錄制的方式來(lái)自動(dòng)生成這些XML文件,再解析成代碼,這不是一個(gè)強(qiáng)大的自動(dòng)化測(cè)試工具??

上一頁(yè)12下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 色综合天天综合网国产人 | 怡红院成人在线 | 精品在线免费播放 | 国产成人免费高清视频网址 | 国产精品免费视频播放 | 欧美一区视频 | 亚洲国产成人综合 | 国产尤物二区三区在线观看 | 在线看欧美日韩中文字幕 | 欧美日韩亚洲国产精品 | 激情综合激情五月 | 91精品视频在线免费观看 | 婷婷人人爽人人爽人人片 | 无遮挡羞羞视频 | 久久怡红院亚欧成人影院 | 国产综合第一页在线视频 | 一级免费a| 国产精品免费视频一区一 | 在线播放国产精品 | 久久er热视频在这里精品 | 欧美一区二区手机在线观看视频 | 亚洲午夜在线观看 | 久久五月视频 | 国产精品亚洲欧美日韩一区在线 | 欧美性猛交xxxx免费看蜜桃 | 成年人午夜视频 | 很黄很色又爽很黄很色又爽 | 簧片免费在线观看 | 久久xxxx| 久久国产视频网站 | 一级毛片免费观看视频 | 日韩中文字幕一区二区不卡 | 日日夜夜精品视频 | 国产玖玖视频 | 鸡毛片| 激情综合网婷婷 | 国产欧美在线不卡 | 成年视频在线观看 | 日本资源在线 | 国产在线观看xxxx免费 | 日本人乱人乱亲乱色视频观看 |