0

分度器でいくつかのテストを行っていますが、小さな問題が発生しました:

新しいユーザーを登録するテストを行いました。登録が完了すると、URLは次のようになります。

#/user/592/profile

それで、私の質問は、新しいユーザーの ID を取得して、テストで true を取得するにはどうすればよいですか? このようなもの:

expect(browser.getCurrentUrl()).toEqual(browser.baseUrl+#/user/ID_OF_NEW_USER/profile);

これどうやってするの?もちろん出来ればですが。

4

2 に答える 2

1

以下のコードは、ユーザー ID の任意の桁数に対して機能します。

browser.getCurrentUrl().then(function(url){
  var user_id=url.split("user/")[1].replace("/profile","");
  //it will return exactly user_id value
  expect(browser.getCurrentUrl())
        .toEqual(browser.baseUrl+"#/user/"+user_id+"/profile");

});
于 2016-08-16T05:39:48.853 に答える
0

あなたの場合、 User_Id は動的に生成されます。したがって、新しい user_id を選択してそれを期待条件で使用するには、カスタマイズされたコードを記述する必要があります。以下のコード スニペットに従うことができます。

 Code: 

     browser.getCurrentUrl().then(function(url){
      var startIndex=(url.indexOf("user/"))+5;
      var endIndex=(url.indexOf(startIndex))+2;
      var user_id=url.substr(startIndex,endIndex);
      //it will return exactly user_id value
      expect(browser.getCurrentUrl())
            .toEqual(browser.baseUrl+"#/user/"+user_id+"/profile");

    });
于 2016-08-16T02:42:11.990 に答える