2016-06-20 7 views
1

私はコードをポータルでより読みやすくしようとしています。 私は変数にcssクラスを格納したいので、クリックメソッドでその変数にアクセスする必要があります。変数にCSS要素を格納する必要があります

element.all(by.css("div[ng-click=\"setLocation('report_road')\"]")).click(); 

element.all(by.css("div[ ng-click=\"mapFeedBack.editObject= mapFeedBack.createMapObjectModel();setLocation(mapFeedBack.noMap?'road_new':'choose_location_road_new/road_new')\"]")).click(); 

    it("test browser should reach report road option",function() //spec2s 
{ 
    element.all(by.css("div[ng-click=\"setLocation('report_road')\"]")).click(); 
    expect(browser.getCurrentUrl()).toContain("report_road"); 
    browser.sleep(browser.params.sleeptime); 
    browser.sleep(browser.params.sleeptime); 
}); 


it("test browser should reach report road missing",function() //spec3 
{ 
    element.all(by.css("div[ ng-click=\"mapFeedBack.editObject= mapFeedBack.createMapObjectModel();setLocation(mapFeedBack.noMap?'road_new':'choose_location_road_new/road_new')\"]")).click(); 
    expect(browser.getCurrentUrl()).toContain("choose_location_road_new/road_new"); 
    browser.sleep(browser.params.sleeptime); 
    browser.sleep(browser.params.sleeptime); 
}); 

は、だから、私は、ファイル内の2つの変数を作成しました:

var road_button ="\"div[ng-click=\"setLocation('report_road')\"]\""; 

var road_missing= "\"div[ ng-click=\"mapFeedBack.editObject= mapFeedBack.createMapObjectModel();setLocation(mapFeedBack.noMap?'road_new':'choose_location_road_new/road_new')\"]\""; 

を、その変数を使用して、私のCSSクラスにアクセスしようとしました:

element.all(by.css(road_button)).click(); 
element.all(by.css(road_missing)).click(); 

しかし、私はすることができないんだけどどのようにいくつかのこれらの変数値にアクセスします。これを行う正しい方法を教えてください。 ありがとうございます

+0

あなたがそれらを定義しているこれらの変数のスコープを、確認してください?説明の中で?また、テスト実行は変数なしでパスしますか? –

答えて

1

私はあなたが車輪を再発明するようだと思います。あなたが本当に従うべきことは、ページオブジェクトを使用するためのガイドラインです。テストフローとテストシナリオのロジックからロケータを分離するという問題を解決するだけでなく、アプリケーション側の終わりのない変更に対応するために、モジュールをモジュール化して簡単にすることができます。ここで

分度器でページオブジェクトに大きな実用的導入である:

関連する問題