82

AngularJS Web アプリケーション用に作成された Protractor フレームワークを見つけました。

AngularJS を使用していない Web サイトで分度器を使用するにはどうすればよいですか?

私は最初のテストを書き、分度器はこのメッセージをトリガーします:

Error: Angular could not be found on the page https://www.stratexapp.com/ : retries looking for angular exceeded
4

13 に答える 13

129

もう 1 つの方法は、browser.get(...) のbrowser.ignoreSynchronization = true 前に設定することです。分度器は Angular が読み込まれるのを待たず、通常の element(...) 構文を使用できます。

browser.ignoreSynchronization = true;
browser.get('http://localhost:8000/login.html');

element(by.id('username')).sendKeys('Jane');
element(by.id('password')).sendKeys('1234');
element(by.id('clickme')).click();
于 2014-04-21T13:54:37.500 に答える
0

私は、Angular や React に似た FE フレームワークであるaurelia web-app に取り組んでいます。これでは、自動化に分度器を使用しています。

私のプロジェクトのテックスタック: -

  • 分度器
  • タイプスクリプト
  • ページ オブジェクト モーダル
  • キュウリ
  • チャイ
  • ノード
  • npm
  • VS コード (IDE)

主な変更は構成ファイルでのみ発生します。それが役立つ場合は、 githubにコードを追加できます。ここに、プロジェクトで使用している構成ファイルを示します。これは私にとって完璧に機能します。私のワードプレスにもいくつかのブログを投稿しました。それが助けになることを願っています。

const reporter = require('cucumber-html-reporter');
exports.config = {
    SELENIUM_PROMISE_MANAGER: false,
    directConnect: true,
    specs: ["./e2e/features/*/EndToEnd.feature"],
    format: 'json:cucumberReport.json',
    framework: 'custom',
    frameworkPath: require.resolve('protractor-cucumber-framework'),
    cucumberOpts: {
        strict: true,
        format: 'json:cucumberReport.json',
        keepAlive: false,
        require: [
            './e2e/hooks/*.ts',
            './e2e/stepDefinition/*/*.ts',
        ],
       tags: '@Regression'
    },
    beforeLaunch: function () {
        require('ts-node/register')
    },
    onPrepare: async () => {
        await browser.waitForAngularEnabled(false);
        await browser.ignoreSynchronization == true;
        await browser.manage().window().maximize();
        await browser.manage().timeouts().implicitlyWait(10000);
     },
    onComplete: async () => {
         var options = {
            theme: 'bootstrap',
            jsonFile: './reports/cucumberReport.json',
            output: './reports/cucumberReport.html',
            reportSuiteAsScenarios: true,
            launchReport: false,
            screenshotsDirectory: './reports/screenshots',
            storeScreenshots: true,
            metadata: {
                "Test Environment": "SAND-DEV-1",
                "Platform": "Windows 10",
            }
        };
        reporter.generate(options);
    },
};
于 2020-05-27T09:11:04.543 に答える
0

非角度アプリケーションの config.js ファイルで以下のスニペットを使用します。

browser.ignoreSynchronization = true;

および角度のあるアプリケーションの場合 -

browser.ignoreSynchronization = false;
于 2020-05-14T11:53:00.190 に答える