如何使用“ .contains”断言来匹配值之一

时间:2019-07-26 05:32:15

标签: testing automated-tests e2e-testing testcafe

根据我的应用程序,单击链接之一可以从两个URL中打开一个URL。

例如:单击链接-X,它可以打开以下网址之一: http://example.com/value1http://example.com/value2

我必须为此编写一个 .contains 断言,该断言看起来可能像这样:

expect(currentUrl).contains(value1 or value2)

根据TestCafe文档,包含不支持正则表达式,并且我不想使用Match,因为我必须在其中传递完整的网址。

请让我知道如何完成此操作。 谢谢。

2 个答案:

答案 0 :(得分:0)

我已经使用匹配声明(如下所示)解决了它,但是如果也可以通过包含声明来完成它,那还是不错的。

expect(currentUrl).match(/value1|value2$/)

答案 1 :(得分:0)

检查以下“当前位置”示例测试:

import { ClientFunction } from 'testcafe';

fixture `Fixture`
    .page `https://google.com`;

test('Check location', async t => {
    // Some actions and assertions...
    await t
        .navigateTo(/*...*/)
        .click(/*...*/);

    // Then check our location
    const getLocation = ClientFunction(() => document.location.href);
    const location    = await getLocation();

    await t
        .expect(location.includes('microsoft') || location.includes('google')).ok();
});