使用Selenium進(jìn)行Web測試項目框架 軟件測試
最近看了一下selenium如果要把這個(gè)用于自動(dòng)化測試,需要進(jìn)行整理,形成一個(gè)框架,我也對Google搜索這樣簡(jiǎn)單的功能做了一些嘗試,形成了一個(gè)簡(jiǎn)單的框架,簡(jiǎn)單的說(shuō)應該有四層:
第一層應該是UIObject這個(gè)對象層,主要是用來(lái)封裝對象的操作方法,例如:
Java代碼:
1. public class TextFieldUIObject extends UIObject { 2. 3. /** 4. * 構造函數用于構造textfield對象 5. * @param locator 描述信息 6. */ 7. public TextFieldUIObject(String locator) 8. { 9. super(locator); 10. } 11. /** 12. * 向textfield輸入值 13. * @param content 輸入的內容 14. * @throws SeleniumHelperNotExistException 15. */ 16. public void type(String content) throws SeleniumHelperNotExistException 17. { 18. if(UIObjectHelper.SeleniumHelper==null) throw new SeleniumHelperNotExistException(); 19. UIObjectHelper.SeleniumHelper.type(this.locator,content); 20. } 21. } |
該代碼,封裝了textfield的控件,加入了方法type用于輸入
第二層主要是構件層,主要用來(lái)描述頁(yè)面上的控件,這里我用了最簡(jiǎn)單的靜態(tài)變量的方法,還可以使用yml,xml,json甚至某種格式的文本文件進(jìn)行描述,之后根據文件生成,這樣可能會(huì )更加方面修改。
代碼如下:
Java代碼:
1. public class GoogleGuis { 2. public static PageUIObject SearchPage = new PageUIObject("/"); 3. public static TextFieldUIObject SearchInput = new TextFieldUIObject("q"); 4. public static ButtonUIObject SearchButton = new ButtonUIObject("btnG"); 5. } |
第三層應該叫組件層,可以頁(yè)面切分成大組件,然后對組件進(jìn)行相關(guān)的操作,這里把Google的搜索作為一個(gè)組件,代碼如下:
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/