小编Ilj*_*lja的帖子

如何从codeception和phantomjs测试中获取当前url?

我正在使用我的测试在estore中创建产品,并且需要在提交表单后获取URL.

提交按钮后,是否可以在测试范围内获取URL ?

$I->click('#formSubmit');
$I->wait(5); // wait for redirect to new url
$url = $I->someFunctionToGetCurrentUrl()`
Run Code Online (Sandbox Code Playgroud)

我从控制台运行此测试,而不是从Web浏览器运行,因此我无法访问服务器端的$ _​​SERVER.

但是,如果我有一些像$I->canSeeCurrentUrlEquals()代码框架中的方法,那么我应该能够以某种方式访问​​当前的URL ...

怎么做?

php phantomjs codeception

11
推荐指数
2
解决办法
4805
查看次数

pythonic方法筛选具有唯一长度的元素的列表

我想过滤一个列表,只留下具有唯一长度的第一个元素.我为它编写了一个函数,但我相信应该有一个更简单的方法:

def uniq_len(_list):
    from itertools import groupby
    uniq_lens = list(set([x for x, g in groupby(_list, len)]))
    all_goods = []
    for elem in _list:
        elem_len = len(elem)
        try:
            good = uniq_lens.pop([i for i, x in enumerate(uniq_lens) if x==elem_len][0])
            if good:
                all_goods.append(elem)
        except IndexError as _e:
            #print all_goods
            pass
    return all_goods

In [97]: jones
Out[97]: ['bob', 'james', 'jim', 'jon', 'bill', 'susie', 'jamie']

In [98]: uniq_len(jones)
Out[98]: ['bob', 'james', 'bill']
Run Code Online (Sandbox Code Playgroud)

python filtering

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

如何在 javascript 中使用 forEach 中的中断?

在 reactjs-babel 应用程序中,我尝试使用break时发生了奇怪的行为forEach

    var SomeElement = React.CreateClass({
        ... ,
        getMessageStatus: function getMessageStatus(message) {
            var states = this.state.messages_states;
            var status = undefined;
            states.forEach(function (messageEntity) {
                if (messageEntity.id == message.id && messageEntity.is_question == message.is_question) {
                    status = messageEntity.status;
                    break; // - this is not working 
                }
            });
            return status;
        },
        ...
        });
Run Code Online (Sandbox Code Playgroud)

breakCannot determine target for 'break'在 PhpStorm 和 Babel repl 中说它像repl: Unsyntactic break 如何正确使用 break 一样?

javascript reactjs babeljs

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

限制在java中执行的最大线程数

试图弄清楚Java中的线程是如何工作的,我只是想通过将它们全部放入数组来限制可执行线程执行,然后检查循环中是否有一些完成并弹出它们,以便有可能产生一个新线程,得到异常在这段代码中:

public class testThread implements Runnable {
public void run () {
        try {
            Thread.sleep(1000);
        } catch(InterruptedException e){}
        System.out.println("This is the test thread");
    }   

    public static void main (String args[]) {
        int max_threads = 5;
        Thread worker;
        ArrayList<Thread> all_workers = new ArrayList<Thread>(max_threads   );
        for (int i =0; i<50; i++) {
            if (all_workers.size()<max_threads){
                worker = new Thread (new testThread());
                all_workers.add(worker);
                worker.start(); 
            } else{
                System.out.println("i ran all");
                while(all_workers.size()>=max_threads){
                    try{ 
                        System.out.println("Waiting for some to finish");
                        int counter = 0;
                        for (Thread wrk: all_workers){ …
Run Code Online (Sandbox Code Playgroud)

java multithreading

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