javascript - Protractor - 如何将 browser.executeScript 的值存储在变量中?

标签 javascript css angularjs testing protractor

我试图将 browser.executeScript 的值存储在我的 it block 中的局部变量中,但我无法在所有显示 null 的情况下都这样做。

到目前为止我已经尝试了很多方法

     browser.executeScript('$("#txtName").css("border-left-color");').then(function (color) {
        console.log("This is color" + color);
    });

还有这个

function returnColor()
{
     var  a = browser.executeScript('$("#txtName").css("border-left-color");');
     return a;
}

function getColorCode()
{
       var a = returnColor().then(function(list){
           console.log("Output is ***************" + list);
             return list;
      });

        return a;
}

我在我的规范中使用它作为

   iit('', function() {        

             browser.executeScript('$("#txtName").css("border-left-color");').then(function (color) {
                console.log("This is color" + color);
            });

            returnColor();


        });

真的很感激有人能告诉我如何正确地做到这一点吗?

最佳答案

您需要从脚本中得到一个返回:

function returnColor()
{
    return browser.executeScript('return $("#txtName").css("border-left-color");');
}

请注意,您也可以通过 getCssValue() 解决同样的问题。 :

var elm = element(by.id("txtName"));
elm.getCssValue("border-left-color").then(function (color) {
    console.log(color);
});

关于javascript - Protractor - 如何将 browser.executeScript 的值存储在变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38100810/

相关文章:

javascript - JSunit 可用性

javascript - 如何在 Hyperledger Composer 中匹配查询文件中的字符串?

html - 我的元素没有填满页面的整个空间

html - 如何在div中垂直对齐文本一个接一个?

javascript - 我想用所选项目的数据填充我的编辑表单

php - jQuery keydown 功能不起作用

javascript - amCharts 错误缩放开始日期和结束日期

javascript - 获取占位符容器拖放的父 ID

javascript - AgnualrJs - $parsers.unshift 与 $parsers.push 的区别

javascript - 如何将 "slugified-title"转换为 "Slugified Title"