翻了一下第一次碰 Selenium2010 年的事了,當時是在 Windows 上的 Firefox 4 (4!) 用 Selenium IDE 開始的。

這次是連環境都不一樣了,寫篇文章記錄一下。

1. 在 mac 上裝最新版的 JAVA JDK , JDK 和 JRE 不一樣的地方在於 JDK 是命令列可以用的那個, JRE 是瀏覽器可以用的;如果 JRE 是最新版但 JDK 不是的話會在後續的步驟出錯,我就遇到了。裝好之後用 iTerm2 確認 java -version 有回傳 1.8 的版號即可。

2. 分別把 selenium server standalone 和 chromedriver 抓下來, selenium server standalone 我用的是官網提供的最新版 3.4.0 (已經到 3 了!); chromedriver 目前的最新版是 2.29 ,抓下來 unzip 解壓縮以後和 selenium-server-standalone-3.4.0.jar 放到同一個目錄,例如 ~/work/test 。

3. 安裝這次測試的主角 webdriver.io 。基本上照官網教學做設定即可。

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

本文引用自repeat - 試玩 Selenium 2.0 b3

好不容易有時間再來研究一下 Selenium ,版號竟然已經飛奔到 2.8 (而且還已經預告即將推出 2.9 是哪招…)

原本想要試試用 Python 開,但是玩了半天不知道怎麼樣在 Windows 底下裝 pip (抓頭),後來還是用 Java 開,反正都不熟。(炸)

要用 Java 來開 Selenium 2.8 的話,前置作業比起 2.0 b3 多很多步驟,大概記一下:

  1. 先準備好 Java 和 Eclipse 。之前剛好在接 logcat 時就有裝了,直接拿來用。

repeat ❤️ 發表在 痞客邦 留言(1) 人氣()

昨天才剛開始試玩的 Selenium 2.0 b2 今天就出了 b3 ,所以重新下載下來試。因為官網的 doc 還在寫,所以順便記一下目前的步驟,應該不是最正確的步驟…

Selenium 2.0 b3 目前只支援 Java, Ruby, Python 和 .Net ,官網有範例的只有 Java 和 C# ,所以決定找 Java 來試。

首先先下載 Eclipse ,我選的是第一個 Eclipse IDE for Java Developers 。下載完解壓縮放到桌面上的 eclipse 資料夾。

然後下載 Selenium 2.0 b3 for Java ,下載完解壓縮放到桌面上的 selenium-2.0b3 資料夾。

接下來打開桌面上的 eclipse 資料夾,執行 eclipse.exe ,第一次執行會問要把資料放在哪,就用預設值即可。打開以後在畫面上找到 Workbench 的連結點下去,切到工作用畫面。

repeat ❤️ 發表在 痞客邦 留言(1) 人氣()

之前跑舊一點的 Selenium IDE 似乎有遇過,不過大多數解決方式是重開瀏覽器就好了,所以也沒特別在意它。

直到昨天一直遇到這個問題,試了半天最後只好從旁邊繞路過去解決,不知道是 Selenium IDE 的 bug 還是 User Agent Switcher 的 bug …

簡單來說問題是這樣產生的:如果我先用 User Agent Switcher 換成其他的 UA ,然後再開 Selenium IDE ,那麼我即使是下


openblog

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

之前遇到的一個 case 差不多是這樣:一個網頁按第一次 click 會出現內容是 foo 的 alert ,第二次以後出現的 alert 內容則是 bar

一開始的想法是這樣:



openexampleclickAndWait

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

之前遇到一個狀況大概是這樣:

<dl id="sample">
<dt>foo1</dt><dd>bar1</dd>
<dt>foo2</dt><dd>bar2</dd>
<dt>foo3</dt><dd>bar3</dd>

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

許久沒有寫 Selenium IDE test ,今天因為工作要求寫了一天,結果遇到奇怪的狀況。

症狀是每個 test 都可以成功跑完沒問題,但是存成 suite 以後關掉瀏覽器再重開, test 和 test 之間總會出現惱人的提醒視窗。

錯誤訊息大致上是

error loading test case: [Exception... "Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIFileInputStream.init]" nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)" location: "JS frame :: chrome://selenium-ide/content/file-utils.js :: anonymous :: line 48" data: no]

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

之前對 Selenium IDE 很陌生的時候遇到一個找特定元素的問題。

遇到的狀況類似這樣:需要找一個特定的 tr 。可以事先知道 tr 的內容,但無法事先知道 tr 在第幾個,因此不能用 //table[@id='mytable']/tr[N]  這樣的 Xpath 來寫。

因為一開始不知道解法,所以先當成無解。但其實是有解的,而解法就是用 contains()

寫法大概是這樣:

verifyElement

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

本文引用自repeat - Selenium IDE 的一些心得

在玩 Selenium IDE 的時候經常遇到彈出式視窗。

和彈出式視窗搏鬥了許久,做點筆記…

首先是彈出式視窗很容易被 firefox 預設擋下來,然後 Selenium 自然抓不到。 XD

最簡單的解決方式,就是把工具>選項>內容>封鎖彈出型廣告視窗 整個勾掉不要選。

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

本文引用自repeat - 試玩 Selenium IDE

這些日子又開始試著玩 Selenium IDE 。找到一些比較容易切入的點,記一些筆記…

1. 在錄製事件時隨便在需要的地方按下右鍵,就會顯示一些可能的功能清單出來,算是很快的入門方式…就算有時候找不到適合的功能,也可以先選一個再修改成自己需要的功能。選過的功能會跳到第一層目錄中。

2. clickclickAndWait 要看需求來用。當用了 click 抓不到接下來的事件,而 clickAndWait 又會發生 timeout 時,就用一個 click 再加一個 waitFor 系列來處理。目前最常用的是 click + waitForTextPresent

3. 官方文件裡沒有提到怎麼處理 alert 。我找到的方式是 verifyAlert ,剩的就舉一反三…。當 Selenium 無法處理 alert 的時候,會真的跳出 alert 等人去按下那個 alert …

repeat ❤️ 發表在 痞客邦 留言(1) 人氣()

在 Firefox 上裝了 Selenium IDE 試玩。

(謎之聲:為什麼那麼喜歡拿元素週期表裡的元素來命名啊…)

看完 demo 影片的感想是:錄就對了。XD

然後就開始隨便錄一段發表文章的動作,當作測試。

錄完了以後會自動轉換成一連串的 command 和 target ,所以需要的技術知識其實可以說是零…?

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

1
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。