Как пропустить файл тестового набора для выполнения для конкретного браузера в Protractor - PullRequest
0 голосов
/ 03 июня 2019

Я использую Транспортир для написания тестовых примеров e2e в Angular, используя Жасмин .

Я использую Saucelab для выполнения моих тестовых случаевна Chrome, Firefox, Edge и IE11 .

Я столкнулся с проблемой, что hover функциональность с использованием mouseMove не работает в случаеIE11, поэтому я хочу пропустить эти тестовые случаи для IE11 , но этот тест должен быть выполнен для остальных браузеров 3.

Мой файл protractor.config.js, как показано ниже... ...

     multiCapabilities: ([
        {
           name: "ds-e2e-firefox",
           browserName: "firefox",
           version: "63"
        },
        {
           name: "ds-e2e-chrome",
           browserName: "googlechrome",
           version: "70"
        },
        {
           name: "ds-e2e-edge",
           browserName: "MicrosoftEdge",
           version: "16",
           avoidProxy: true
        },
        {
          name: "ds-e2e-ie11",
          browserName: "internet explorer",
          version: "11",
          iedriverVersion: "3.12.0"
        }
      ]).map(cap => Object.assign(cap, {
        platform: "Windows 10",
        seleniumVersion: SELENIUM_VERSION,
        screenResolution: "1920x1080"
      }))
    };
...

Я открыт с другим обходным путем, так как не могу думать, как этого добиться.

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Один из способов приблизиться к этому -

it("Search by name", async () => {

    // open home page
    await browser.get(params.baseUrl);

    let capabilities = await browser.getCapabilities();
    let browserName = capabilities.map_.get('browserName');

    if (browserName === "chrome") {
        // your test goes here
    }
});
0 голосов
/ 03 июня 2019

multicapabilities - это коллекция, которая принимает массив возможностей, поэтому вы можете попробовать использовать ключевое слово exclude, зарезервированное для игнорирования файлов спецификаций.

    {
      name: "ds-e2e-ie11",
      browserName: "internet explorer",
      version: "11",
      iedriverVersion: "3.12.0",
      exclude: [specfile.js, specfile2.js]
    }
...