5.ExpectedData.yaml的作用
ExpectedData.yaml是存放期望值的文件
ExpectedData.yaml存放數(shù)據(jù)的格式為:
hello: 123
world: 234
ExpectedData.yaml中的數(shù)據(jù)在test_Demo中的調(diào)用方式為:ExpectData("hello")
6.Demo.rb的作用
Demo.rb是存放測試方法的地方
Demo.rb在被生成時,已經(jīng)生成好了類與所需要require的文件,格式都已定義好,只需要填寫好測試方法即可,當(dāng)然類名與測試方法名也可以更改,但測試方法名如果更改了,則需記得在TestData.yaml中配置上相應(yīng)測試方法名。
setUp方法是指每個測試方法運行前必須會運行的方法,getWebApplication是指創(chuàng)建一個瀏覽器的對象,調(diào)用getWebApplication后會產(chǎn)生一個框架的內(nèi)置對象@b(類似于watir中@b=Watir::IE.new)。
tearDown是指每個測試方法運行后必須會運行的方法。@b.close指關(guān)閉瀏覽器,這是watir中的API。
test_Demo是測試方法,測試方法必須以test開頭,否則會不被當(dāng)成測試方法,這樣即使在TestData.yaml中配置了,也不會被運行。
test_Demo中被注釋的項都是在test_Demo中可以被使用的方法
AutoTest("") 調(diào)用Demo.yaml中頁面元素對象
TestData("") 調(diào)用TestData.yaml中的測試數(shù)據(jù)
ExpectData("") 調(diào)用ExpectedData.yaml中的期望值數(shù)據(jù)
ConfigData("") 調(diào)用conf.yaml中的配置數(shù)據(jù)
LoadObject("") 在腳本中加載其它的頁面元素對象文件,其文件只能是yaml文件,格式與Demo.yaml文件格式一樣,加載的頁面元素對象如果與Demo.yaml中一致時,則會覆蓋Demo.yaml文件中的數(shù)據(jù)。此時工作路徑在testcaseDemo下,如果要加載testcase est1.yaml中的數(shù)據(jù),則為LoadObject("../test1.yaml")
LoadTestData("") 在腳本中加載其它的測試數(shù)據(jù)文件,其文件只能是yaml文件,格式為:
hello: 123
加載的測試數(shù)據(jù)如果與TestData.yaml中 一致時,則會覆蓋TestData.yaml文件中的數(shù)據(jù)。此時工作路徑在testcaseDemo下,如果要加載testcase est2.yaml中的數(shù)據(jù),則為LoadTestData("../test2.yaml")
LoadExpectData("") 在腳本中加載其它的期望值數(shù)據(jù)文件,其文件只能是yaml文件,格式與ExpectedData.yaml文件格式一樣,加載的期望值數(shù)據(jù)如果與ExpectedData.yaml中 一致時,則會覆蓋ExpectedData.yaml文件中的數(shù)據(jù)。此時工作路徑在testcaseDemo下,如果要加載testcase est3.yaml中的數(shù)據(jù),則為LoadExpectData("../test3.yaml")
TransferData("") 在測試方法運行完成后,會在lib/transfer.yaml(如果是1.8版本的,則在config/transfer.yaml)中保存該測試方法的返回值,這樣在其它的project中可以調(diào)用:
TransferData("test_Demo")會返回測試方法test_Demo后一次運行的返回值(TransferData("")還不太完善,處理方式還沒有想清楚,所以大家慎用)
assert_string("","",""),assert_array("","",""),assert_hash("","",""),assert_true(true,""),assert_false(false,"") 這是五個斷方方法,這五個方法中的后一個參數(shù)可以為空,也可以不寫,其數(shù)據(jù)為自已添加,會反應(yīng)在測試報告中,比如:assert_string("123","123","should be 123")
l "" 是指在測試方法中添加log,其會反應(yīng)在測試報告中,比如 l "this is the first step","this is the first step"這一句話會顯示在測試報告中。