前情提要: 本篇使用 [email protected] ((3.5.0以上會有不同的問題… 使用 Nightwatch.js 寫前端的 E2E test一段時間了…踩了不少雷 Nightwatch 底下還是使用 selenium 與 支援各瀏覽器的 webdriver ,其實大多狀況都是發生在各 web driver 跟 selenium….啊(嘆~ 來記錄一下使用 Nightwatch.js 遇到的幾個問題~ selenium: Error retrieving a new session from the selenium server Connection refused! Is selenium server started? …. 最常出現以上這個訊息,可以先試著單獨開啟 selenium 在預設 port 4444,透過瀏覽器手動創建 session 確認 selenium 有正常運作。 java -jar selenium-server-standalone-{VERSION}.jar 另外,如果要透過 nightwatch.js 自動開啟 selenium,記得要將 nightwatch.json 設定檔中的 selectium start_process 設為 […]
使用 HTML 的 input 標籤中的提示( placeholder ),當使用者 focus 輸入框時(尚未輸入任何字) 在除了 IE 以外的瀏覽器( chrome、firefox及 edge 等),提示( placeholder )仍會存在。 但在 IE 瀏覽器上則會消失。 如此範例:(請在 IE 及 chrome 分別開啟並 forcus 輸入框則可看見差異) 在微軟的開發者討論區,也可以查到相關的問題,看起來好像不打算修了….。 因此,若希望修正 IE 此行為的話,以下則提供兩種在 IE 實作 placeholder 作法。 首先我們必須判斷瀏覽器是否為IE 直覺的當使用者 focus 時,先檢查裡面是否有值,若沒有的話自動填入 placeholer 該有的值(並且不能讓使用者編輯 placeholer,自動將游標移至開頭)。 直接看程式碼比較清楚: 第一種方法還要做移動游標,我們可以考慮在 input 上面蓋一個文字區塊,如 label。