gpt4 book ai didi

javascript - Protractor e2e : extracting a string and assigning it to a var

转载 作者:行者123 更新时间:2023-11-30 14:53:09 24 4
gpt4 key购买 nike

我正在使用 Protractor 和 TypeScript 来驱动端到端回归

元素

<strong _ngcontent-jwu-49="" data-protractor="StreamId">11107</strong>'

案例我需要从一个元素中提取 ID 并从字符串和 ID 构造一个 URL

无论我做什么, promise 都没有得到解决

这是我试过的

function getStreamId() {
//browser.ignoreSynchronization = true;
var streamIdElement = $$("[data-protractor='StreamId']")
var streamId = streamIdElement.getText().then(
function(text){

browser.get('https://URL/page/'+text);
console.log(streamId)
})

还是一个 promise

browser.executeScript("var text = document.querySelectorAll('[data-
protractor='StreamId']').innerHtml").then(function(text)
{console.log(text);});

fails WebDriverError: unknown error: Runtime.evaluate threw exception: SyntaxError: missing ) after argument list

我的问题是第 2 部分:

  1. 如果以后需要提取一个值并与之交互, Protractor 中的最佳实践是什么

  2. 是否有可能将 promise 解析为字符串(而不是使用 .then(function(text){console.log(text)}) 在日志中读取它),所以我可以将它分配给一个变量并在以后使用它)

最佳答案

您的第一次尝试实际上非常接近最终结果。您找到了元素,调用了 getText() 并解决了 promise。

一旦您需要实际值,就让函数返回一个 promise 和 resolve:

function getStreamId() {
var streamIdElement = $$("[data-protractor='StreamId']")
return streamIdElement.getText();
}

getStreamId().then(function(streamId) {
browser.get('https://URL/page/'+streamId);
console.log(streamId);
});

关于javascript - Protractor e2e : extracting a string and assigning it to a var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47824153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com