selenide的入門教程

在pom.xml中加入如下依賴

<dependency>
    <groupId>com.codeborne</groupId>
    <artifactId>selenide</artifactId>
    <version>4.4.1</version>
    <scope>test</scope>
</dependency>

常用配置:

  • selenide默認(rèn)使用Firefox瀏覽器,如何切換成chrome瀏覽器?
System.setProperty("webdriver.chrome.driver", driverPath);
Configuration.browser="chrome";
  • selenide如何設(shè)置代理?
Proxy proxy = new Proxy();
proxy.setHttpProxy("127.0.0.1:8080");
WebDriverRunner.setProxy(proxy);
  • selenide如何修改報(bào)告默認(rèn)生成路徑?
Configuration.reportsFolder = "target/reports/test"+Configuration.browser;
  • selenide如何下載非<a>標(biāo)簽的文件?
//默認(rèn)值是FileDownloadMode.HTTPGET,此值只用作用于<a>標(biāo)簽
Configuration.fileDownload = FileDownloadMode.PROXY;
  • 如何保持瀏覽器運(yùn)行完不關(guān)閉?
//默認(rèn)值是false
Configuration.holdBrowserOpen = true;
  • 如何使用自己實(shí)例化的driver
WebDriverRunner.setWebDriver(driver);

此處需要注意,如果使用自己設(shè)置的driverselenide不會自動關(guān)閉brower,需要我們手動關(guān)閉!

常見操作:

  • 打開一個(gè)url:
   open("https://www.baidu.com/");
  • 鼠標(biāo)點(diǎn)擊:
   //默認(rèn)使用css selector的方式來查找元素
   Selenide.$(element).click();
   Selenide.$(By.xpath(element)).click();
  • 文本框賦值:
    Selenide.$(By.xpath(element)).doubleClick();
  • 鼠標(biāo)事件:
    Selenide.$(By.xpath(element)).contextClick();
  • 鼠標(biāo)右鍵事件:
    Selenide.$(By.xpath(element)).setValue(value);
  • 判斷元素是否存在:
    Selenide.$(By.xpath(element)).exists();
  • 下載文件的操作:
    Selenide.$(By.xpath(element)).download();

默認(rèn)只能下載<a>標(biāo)簽的元素
若想下載其他標(biāo)簽里面的元素則需另外設(shè)置

  • 上傳文件的操作:
    Selenide.$(By.xpath(element)).uploadFile(file);

uploadFile的參數(shù)為File類型

  • 查詢元素的文本內(nèi)容
    Selenide.$(By.xpath(element)).text();
  • 等待直到存在某個(gè)元素
    Selenide.$(By.xpath(element)).waitUntil(exist , timeoutSeconds*1000);
  • 等待直到元素在頁面可見
    Selenide.$(By.xpath(element)).waitUntil(visible , timeoutSeconds*1000);
  • 等待直到滿足兩個(gè)條件中的任意一個(gè),就相當(dāng)于if(a || b){}這種寫法,第一個(gè)參數(shù)是備注
    Selenide.$(By.xpath(element)).waitUntil(or("有一個(gè)相等", text(param1), text(param2)) , timeoutSeconds*1000);
  • 等待直到某個(gè)元素不存在
    Selenide.$(By.xpath(element)).waitUntil(hidden, timeoutSeconds*1000);
  • 等待直到匹配到文本內(nèi)容
    Selenide.$(By.xpath(element)).waitUntil(matchesText(text),timeoutSeconds*1000)

此處matchesText里面可以匹配正則表達(dá)式

  • 不存在某個(gè)元素
    Selenide.$(By.xpath(element)).shouldNot(exist);
  • 移動鼠標(biāo)到某個(gè)元素上
    Selenide.$(By.xpath(element)).hover()
  • 獲取當(dāng)前頁面title
    Selenide.title()
  • 獲取當(dāng)前頁面url
    WebDriverRunner.url()
  • 切換到另一個(gè)頁面
    Selenide.switchTo().window(nameOrHandle)
  • 獲取當(dāng)前driver
    WebDriverRunner.getWebDriver();
  • 清除瀏覽器cookie
    Selenide.clearBrowserCookies();
  • 刷新當(dāng)前頁面
    Selenide.refresh();
  • 出現(xiàn)alert時(shí)候出來情況
Selenide.confirm();
Selenide.dismiss();```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容