自动化框架FluentLenium学习

github地址:https://github.com/FluentLenium/FluentLenium

常用的页面控件操作方法(element需要先通过css selector找到):

[button]              button.click();

1 @FindBy(css = "#searchBtn")
2 private FluentWebElement searchBtn;

[input]              fill("input[name='name']").with(name);

[checkbox]          find("input[type=checkbox]").click();

[radionbutton]      find("input[type=radio]").click();

[file upload]      element.getElement().sendKeys(filePath);

[selector]                 fillSelect("select[name='year']").withText("2014");

[select checkbox]      //下拉复选框

这种情况没有直接的方法使用,一般是点击两次达到复选的结果,封装的方法如下:

1 protected void multiSelect(String selector, List<String> texts) {
2     find(selector + " + div .multiselect").click();
3     for (String text : texts) {
4         await().atMost(5, TimeUnit.SECONDS).until(selector + " + div .multiselect-container").areDisplayed();
5         find(selector + " + div .multiselect-container").find(".checkbox", withText(text)).click();
6     }
7 }

 

 [时间控件]

如果时间控件是可以直接输入的话,可以用[input]控件的方法.

但是如果不能直接输入,必须得点击选择的话,可以使用js来赋值,如下:

1 executeScript("document.getElementsByName('startTime')[0].value=" + "\"" + startTime + "\"" + ";");

 [下载]

下载需要先设置Firefox浏览器的属性,如下:

1 FirefoxProfile firefoxProfile = new FirefoxProfile();
2 String userHome = System.getProperty("user.home");
3 firefoxProfile.setPreference("browser.download.dir", userHome + "/Downloads");
4 firefoxProfile.setPreference("browser.download.folderList", 2);
5 firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf, " +
6         "application/octet-stream, application/vnd.ms-excel, text/csv, application/zip");
7 firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false);
8 return new FirefoxDriver(firefoxProfile);

 

posted @ 2014-12-30 21:33  shevche  阅读(581)  评论(0编辑  收藏  举报