2

私はrequire jsを利用するAngularプロジェクトを書いたので、ほとんどのJavaScriptは特定のページセットに到達する前に読み込まれません。(angular.js を含む)

フローを記述するとき、ptor の代わりに browser.driver を使用する必要がありましたが、これは角度のあるコンポーネントが導入されるまではうまく機能していました。現在、ptor の初期化を browser.driver に絞り込み、特定のフローの後の角度。だから私はこのようなものを持っています

        browser.driver.getCurrentUrl().then(function(url){
            ptor = protractor.getInstance();
            // ptor.ignoreSynchronization = true;
            ptor.get(url);
        })
        ptor.sleep(2000);

タイムアウトしても、ステートメントの後に ptor undefined が発生しているようです。ここでスワップを行うにはどうすればよいですか。URLで分度器のコンストラクターを実行します。リロードせずに。

--------------addon--------- わかりましたので、これは私が持っていたものです

        searchInput = browser.driver.findElement(by.css('#searchstring')); 
        searchInput.sendKeys('logan airport');
        searchInput.sendKeys(protractor.Key.ENTER)//.perform();
        browser.driver.sleep(6000);

        browser.driver.wait(function(){ //angular loads here
            return browser.driver.getCurrentUrl(function(url){
                searchUrl = url;
                return /screwdriver/.test(url);
            });
        }, 10000)
        browser.driver.sleep(2000);
        /*UNEXECUTED CODE HERE: Error while waiting for angular to sync with your page*/
        firstItem =  element.all(by.css('.itemContainer')).get(1).click();
        browser.driver.sleep(10000);

そして、これが私が今していることです...

            searchInput = ptor.findElement(protractor.By.css('#searchstring'));
            searchInput.sendKeys('logan airport');
            searchInput.sendKeys(protractor.Key.ENTER)//.perform();
            ptor.sleep(6000);

            ptor.wait(function(){ //this page loads angular, but stuck on white page, which with previous version this is fluent, it says angular cannot be found on the page
                return ptor.driver.getCurrentUrl().then(function(url){
                    searchUrl = url;
                    return /screwdriver/.test(url);
                });
            }, 10000)

            ptor.sleep(2000);

            /*NOT EXECUTED: Error while waiting for angular to sync with your page*/
            foundItems = ptor.findElement(protractor.By.css('.itemContainer')); 
            firstItem = foundItems.get(1).click();
            ptor.sleep(2000);

どちらも機能していないようです.1つは同期していない角度であり、もう1つは角度が見つかりませんが、f12を押して角度を入力すると、実際のページには角度が存在するようになります.

4

1 に答える 1