2016年7月18日 星期一

Nightwatch 基本用法 (Nightwatch 3)

架個server來練習,因為我只會java,要架的可以參考這篇

首頁出來後,將網址複製到要測的js檔裡的browser.url('')裡面
此時一些方法就可以看官網的API練習了


※範例一

module.exports = {
    'Demo test Google' : function (browser) {
        browser
        .url('http://localhost:8080/TestServletXXX/index.jsp')
        .setValue('input[type=text]', 'あ')
        .setValue('input[type=text]', 'ああ')
        .setValue('input[type=text]', 'あああ')
        .pause(1000)
        .setValue('input[type=text]', 'ooo');
        .end();
    
        demoTest(browser);
    }
};
    
function demoTest(browser) {
    browser.assert.containsText("[name='ccc']", "xxx");
};


※範例二

module.exports = {
    function (browser) {
        demoTest(browser);
    }
};
    
demoTest = function (browser) {
    browser
    .url('http://localhost:8080/TestServletXXX/index.jsp')
    .setValue('input[type=text]', 'あ')
    .setValue('input[type=text]', 'ああ')
    .setValue('input[type=text]', 'あああ')
    .pause(1000)
    .setValue('input[type=text]', 'ooo')
    .end();
};

※useCss()和.useXpath()可以切換使用哪一種語法,預設是CSS

※setValue和getValue我不管怎麼設,都只能抓到第一個text
用Xpath「//input[@type='text'][2]」可取得第2筆,不是從0開始,是從1開始
用CSS我沒試出來
一次抓全部也沒試出來

※如果text有預設值,它並不會覆蓋,會附加到預設值的後面,假設預設值是xxx,那結果是xxxああああああooo,所以要清預設值,要用clearValue

※要注意text和value的差別

※Xpath有「/」「//」和沒有「/」三種,但我試的結果只有「//」有用

※input[type=text]用css時,text可以用「'」或「"」包起來,加不加都ok;但用Xpath時,一定要加才抓的到

沒有留言:

張貼留言