什麼是富文本編輯器?
富文本編輯器,Rich Text Editor, 簡稱 RTE, 是一種可內嵌於瀏覽器,所見即所得的文本編輯器。具體長啥樣,以下圖:
css
經過自動化操做富文本編輯器
模擬場景:在富文本編輯器中輸入:歡迎關注公衆號:軟件測試君html
一、經過鍵盤事件實現輸入
具體代碼以下:java
/** * 經過鍵盤事件實現輸入操做 */ @Test public void testByActions() { driver.get("https://ueditor.baidu.com/website/onlinedemo.html"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); Actions actions = new Actions(driver); //鼠標經過tab要先移到富文本框中 actions.sendKeys(Keys.TAB).perform(); actions.sendKeys("歡迎關注公衆號:軟件測試君").perform(); }
二、經過進入iframe實現輸入操做
具體代碼以下:web
@Test public void testBySwitchIframe() { driver.get("https://ueditor.baidu.com/website/onlinedemo.html"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); //進入富文本編輯器 driver.switchTo().frame("ueditor_0"); //輸入文字 driver.findElement(By.className("view")).sendKeys("歡迎關注公衆號:軟件測試君"); //選中所有 driver.findElement(By.className("view")).sendKeys(Keys.LEFT_CONTROL + "a"); //跳出富文本編輯器 driver.switchTo().defaultContent(); //加粗操做 driver.findElement(By.cssSelector(".edui-for-bold .edui-icon")).click(); }
三、經過執行js實現輸入操做
具體代碼以下:瀏覽器
/** * 經過執行js實現輸入操做 */ @Test public void testByJs() { driver.get("https://ueditor.baidu.com/website/onlinedemo.html"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); String content = "歡迎關注公衆號:軟件測試君"; //ueditor_0爲所在iframe的id String js = "document.getElementById('ueditor_0').contentDocument.write('" + content + "');"; ((JavascriptExecutor) driver).executeScript(js); }
以上三種方法,均可在富文本編輯器實現輸入操做,僅供參考,若是以爲好,能夠關注我哦微信
EOF編輯器
本文做者:久曲建的測試窩
本文連接:https://www.cnblogs.com/longronglang/p/11326056.html
關於博主:評論和私信會在第一時間回覆。或者直接私信我。
版權聲明:本博客全部文章除特別聲明外,均採用 BY-NC-SA 許可協議。轉載請註明出處!
聲援博主:若是您以爲文章對您有幫助,能夠點擊文章右下角【推薦】一下。您的鼓勵是博主的最大動力!
優秀不夠,你是否無可替代ide
軟件測試交流QQ羣:721256703,期待你的加入!!測試
歡迎關注個人微信公衆號:軟件測試君
ui