0

I'm trying to use a variable in the URL assertion but not having any luck.

    const LAST = page.locator('#Selector1');
    const LastResult = page.locator('#Selector2').textContent();

    await page.goto(Env.baseUrl + '/Search');

    await (LAST).click();
    await expect(page).toHaveURL(/Search#page=('LastResult')/);

I'm expecting whatever TEXT to be in LastResult to be read in .toHaveURL

DgutOrig
  • 1
  • 1
  • Does this answer your question? [Javascript Regex: How to put a variable inside a regular expression?](https://stackoverflow.com/questions/4029109/javascript-regex-how-to-put-a-variable-inside-a-regular-expression) or better: [How do you use a variable in a regular expression?](https://stackoverflow.com/questions/494035/how-do-you-use-a-variable-in-a-regular-expression) – ggorlen Mar 14 '23 at 04:45
  • I ended up figuring it out... ` const LAST = page.locator('#Selector1'); const LastResult = page.locator('#Selector2').textContent(); await page.goto(Env.baseUrl + '/Search'); await (LAST).click(); await LastResult.then(function(responce){ expect(page).toHaveURL(`${Env.baseUrl}/Search#page=${responce}`); }); ` – DgutOrig Mar 14 '23 at 07:02
  • Great. Feel free to post a [self answer](https://stackoverflow.com/help/self-answer). – ggorlen Mar 14 '23 at 13:40

1 Answers1

0

Fixed it by adding a function in .then

const LAST = page.locator('#Selector1');
const LastResult = page.locator('#Selector2').textContent();

await page.goto(Env.baseUrl + '/Search');

await (LAST).click();
await LastResult.then(function(response) {
        expect(page).toHaveURL(`${Env.baseUrl}/Search#page=${response}`);
      });
Fdebijl
  • 887
  • 5
  • 20
DgutOrig
  • 1
  • 1