小编pie*_*ara的帖子

量角器设置全局变量

我试图在量角器上设置一个全局变量,用于所有描述块.

var glob = 'test';

describe('glob test', function () {
    it('should set glob', function () {
        browser.get('http://example.com/test');
        browser.executeScript(function () {
            window.glob = glob;
        });
    });    
});
Run Code Online (Sandbox Code Playgroud)

但这会返回以下错误:

Message:
[firefox #2]      UnknownError: glob is not defined
Run Code Online (Sandbox Code Playgroud)

我也看了这个问题:量角器angularJS全局变量

所以我试图以这种方式在conf.js中设置变量glob:

exports.config = {
  ...,
  onPrepare: function () {
      global.glob = 'test';
  }
};
Run Code Online (Sandbox Code Playgroud)

仍然有同样的错误.

如何在量角器测试中添加正确的全局变量?

javascript angularjs protractor

21
推荐指数
2
解决办法
3万
查看次数

Nodejs https请求UNABLE_TO_GET_ISSUER_CERT_LOCALLY

操作系统:debian sid

Nodejs:v0.10.38

我向使用身份验证的私人服务请求:

var https = require('https');

var options = {
    host: 'private.service.com',
    path: '/accounts/' + '123323' + '/orders',
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': 0,
        'Authorization': 'Bearer ' + 'asdsdgcvxcvxcv'
    }
};

var request = https.request(options, function (res) {
    console.log(res);
});
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,节点抛出此错误:

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: UNABLE_TO_GET_ISSUER_CERT_LOCALLY
    at SecurePair.<anonymous> (tls.js:1381:32)
    at SecurePair.emit (events.js:92:17)
    at SecurePair.maybeInitFinished (tls.js:980:10)
    at CleartextStream.read [as _read] (tls.js:472:13)
    at CleartextStream.Readable.read (_stream_readable.js:341:10)
    at EncryptedStream.write [as _write] (tls.js:369:25)
    at doWrite (_stream_writable.js:226:10) …
Run Code Online (Sandbox Code Playgroud)

ssl https node.js

6
推荐指数
2
解决办法
2万
查看次数

打字稿:用不同的名称导出相同的函数

我有一个函数,需要以两个不同的名称导出而无需重新声明。

现在,我坚持这样做:

function handle() {
    console.log('handle');
}


export function post {
    return handle();
}

export function get() {
    return handle();
}
Run Code Online (Sandbox Code Playgroud)

但这伸缩性不好,而且很难看,尤其是当我有需要传递给的参数时handle

理想情况下,它看起来像这样,但是它是无效的语法:

function handle() {
    console.log('handle');
}

export {handle} as get;

export {handle} as post;
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

typescript

6
推荐指数
1
解决办法
854
查看次数

使用 Python 计算每小时频率

我有这样的每小时 csv 数据,每天都这样排序数百天:

2011.05.16,00:00,1.40893
2011.05.16,01:00,1.40760
2011.05.16,02:00,1.40750
2011.05.16,03:00,1.40649

我想计算每天设置的最大值每小时多少次,所以如果在 00:00 我有 2011.05.16 天的最大值,我将 1 添加到 00:00 等等。为此,我使用了一个循环来以这种方式计算像索引一样的小时数:

def graph():    
Date, Time,  High = np.genfromtxt(myPath, delimiter=",",
                                  unpack = True,  converters={0:date_converter})                                                                           
numList = [""] * 24
index=0
hour=0    
count = [0] * 24

for eachHour in Time:        
    numList[hour] += str(High[index])        
    index += 1
    hour +=1        

    if hour == 24:           
        higher = (numList.index(max(numList)))
        count[higher] += 1            
        hour = 0            
        numList = [""] * 24
Run Code Online (Sandbox Code Playgroud)

问题是,在我的数据中,经常有一些小时缺失的差距,但循环无法识别它并继续将值放入下一小时的索引中。我到处搜索,但我是编程新手,这是我的第一个“复杂”工作,所以我需要更具体的答案来了解它是如何工作的。那么你如何像解释的那样进行每小时频率计数? 最终结果应该是这样的:

00:00 n time max of the …
Run Code Online (Sandbox Code Playgroud)

python time pandas

5
推荐指数
1
解决办法
5648
查看次数

量角器测试,访问和修改Window对象属性

我正在尝试为我们在项目中使用的身份验证编写一个简单的e2e测试,身份验证基于json web令牌,该令牌设置为window.localStorage.satellizer_token.

要设置它我使用下面的代码,但对于我所看到的它并没有真正设置窗口对象的真正的localStorage属性.

describe('login', function () {
it('should set the satellizer token and be allowed to get panel', function () {
    browser.driver.get('http://example.com/');
    browser.driver.executeScript(function () {
        return window.localStorage;
    }).then(function (localStorage) {
        expect(localStorage.satellizer_token).toBe(undefined);
        localStorage.satellizer_token = "eyJ0fdaccKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjE3MjUzIiwiaWF0IjoxNDM0Mzc1NjU3LCJleHAiOjE0NjU5Mjk2NTd9.VbhdWQ_gOb7X8pmOGLDjBKURxcaWQlIXQGvLRansQCphk";
        expect(localStorage.satellizer_token).toBe("eyJ0fdaccKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjE3MjUzIiwiaWF0IjoxNDM0Mzc1NjU3LCJleHAiOjE0NjU5Mjk2NTd9.VbhdWQ_gOb7X8pmOGLDjBKURxcaWQlIXQGvLRansQCphk");
        browser.driver.get('http://example.com/panel');
        expect(browser.driver.getTitle()).toEqual('http://example.com/panel');
        expect(browser.driver.getCurrentUrl()).toEqual('http://example.com/panel');
    });
});
Run Code Online (Sandbox Code Playgroud)

});

我知道这里这里已经有类似的东西但是我能找到的所有例子都是关于访问的,我还需要修改窗口属性.

在量角器测试中与窗口对象交互的正确方法是什么?

javascript jwt angularjs protractor satellizer

5
推荐指数
1
解决办法
3195
查看次数

使用chrome扩展的任务自动化

我正在尝试自动执行从ebay页面获取客户数据并将其插入另一页面中的表单的任务.我用过Imacros,但我不太喜欢它.

chrome扩展是否适合这种工作?

如果是,dom逻辑应该放在后台页面或内容脚本中?

任何人都可以提供一个简单的代码示例吗?

javascript google-chrome google-chrome-extension

3
推荐指数
1
解决办法
3329
查看次数

大熊猫的每日频率计数

就像我已经问过的这个问题一样,我正在尝试这个时间来计算相同的数量,但每天都是如此.因此,我希望这次能够计算星期一设置较低值一周的次数,星期二设置的次数等,以及计算一周中7天的计数的计数.天和价值如下:

2013.01.01,00:00,1.31802

2013.01.02,00:00,1.32038

2013.01.03,00:00,1.31859

2013.01.04,00:00,1.30508

等等

我目前正在使用Pandas,而我以前每小时计算的代码是:

df = pd.read_csv(myPath, sep=',', header=None, parse_dates=[[0, 1]])
df.columns = ["date","value"]
df.set_index("date", inplace=True)
day_min = df.resample('D', how='min')
df['is_day_min'] = day_min.lookup(df.index.normalize(), len(df) * ['value'])==df.value
df.is_day_min.resample('H', np.sum).fillna(0).astype(int)    
df.groupby(df.index.time)["is_day_max"].sum().to_csv("C:\\2013frequency_min.csv")
Run Code Online (Sandbox Code Playgroud)

但是,如果我在day_min(第4行)中将resample更改为"W",并在第6行中将"D"更改为"D",那么在分析每日数据时会出现此错误:KeyError:Timestamp('2013-01-01 00:00: 00',tz =无)

有人可以帮忙吗?我确信这很简单,但是熊猫文档并没有帮助我.即使有人有一个不使用熊猫的解决方案给我看.如果它工作,那没关系.谢谢

python count pandas

2
推荐指数
1
解决办法
1868
查看次数

Javascript - 修改数组重复项而不修改原始数组

我确信这是一件愚蠢的事情,但我无法解决它。

如果我这样做:

var arr = [1, 2, 3, "up"];
var duplicate = arr;
duplicate[3] = "down";
console.log(arr[3]); //"down"
console.log(duplicate[3]); //"down"
Run Code Online (Sandbox Code Playgroud)

那么为什么原始数组也被修改了呢?这与它们指向同一个数组有关吗?

如何只修改重复项?

javascript

1
推荐指数
1
解决办法
3802
查看次数

发送消息时Socket.io聊天重新加载页面

我正在访问http://socket.io/get-started/chat/上的socket.io教程,但我的问题是当我发送消息时页面重新加载而不是持久化.

唯一的区别是我使用纯DOM而不是像教程中那样使用jquery.这是原始代码:

    <script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
    <script src="http://code.jquery.com/jquery-1.11.1.js"></script>
    <script>
      var socket = io();
      $('form').submit(function(){
        socket.emit('chat message', $('#m').val());
        $('#m').val('');
        return false;
      });
      socket.on('chat message', function(msg){
        $('#messages').append($('<li>').text(msg));
      });
    </script>
Run Code Online (Sandbox Code Playgroud)

这是我的:

 <script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
    <script>
      var socket = io();
      document.querySelector('form')
      .addEventListener('submit', function () {
        socket.emit('chat message',
        document.querySelector('#m').value);
        document.querySelector('#m').value = '';
        return false;
      });

      socket.on('chat message', function (msg) {
        var li = document.createElement('li');
        document.querySelector('#messages').appendChild(li);
        li.innerText = msg;
      });
    </script>
Run Code Online (Sandbox Code Playgroud)

如果我用jquery替换我的,它就像一个魅力.任何人都可以看到问题出在哪里?

javascript jquery dom socket.io

0
推荐指数
1
解决办法
1052
查看次数