小编Dre*_*nmi的帖子

从Gradle运行Selenium webdriver-manager

我试图从Gradle启动Selenium以运行Protractor测试.

这是我的Gradle脚本:

//main task to run protractor tests
task uiTests << {
    println "Starting protractor tests"
}

//start Selenium server
task startSelenium << {
    println "Starting Selenium..."
    ant.exec(executable: '/bin/bash', spawn: true) {
        arg(value:'webdriver-manager')
        arg(value:'start')
    }
}

//run protractor
task runProtractor(type: Exec) {
    commandLine 'protractor', 'bignibou-client/protractor.conf.js'
}

//start selenium, then run protractor
uiTests.dependsOn([startSelenium, runProtractor])
Run Code Online (Sandbox Code Playgroud)

但是,输出似乎表明Selenium进程尚未启动:

 :runProtractor
    Using the selenium server at http://localhost:4444/wd/hub
    [launcher] Running 1 instances of WebDriver

/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:172
      callback(new Error(message));
               ^
Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444
    at ClientRequest.<anonymous> (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:172:16)
    at …
Run Code Online (Sandbox Code Playgroud)

selenium gradle selenium-webdriver protractor

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

NotImplementedError:无法对未注册的加载程序类型执行此操作

我正在制作一个小脚本来生成HTML文件.为此目的,我正在使用jinja2.

这是我的脚本(在jinja2文档中找到):

# -*- coding: utf-8 -*-

from jinja2 import Environment, PackageLoader

env = Environment(loader = PackageLoader('monapplication', 'templates'))
template = env.get_template('index.html')
print(template.render(message = "Bienvenue sur mon site !"))
Run Code Online (Sandbox Code Playgroud)

包"monapplication"包含我的index.html文件所在的文件夹"templates".

但是当我运行脚本时,我收到此错误:

"NotImplementedError;无法对未注册的加载器类型执行此操作."

我做了一些研究,但我找不到解决问题的方法.

我的操作系统是Windows 10.

python jinja2

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

让Devise在注册时创建子域

我想让Devise在我的网站上创建子域名.

现在,我有两个型号:

  1. 公司:A Company可以直接在网站上注册,登录后可以邀请其员工.当公司注册时,我想要创建一个独特的子域名(例如example.com => techcraz.example.com.)

  2. 员工:Employee只有在收到邀请链接时才能注册.

我想要的是什么:

  • 主域名作为注册页面.
  • 两个Companies和的单一登录页面Employees.
  • 登录时,他们必须提供域名,然后应将其重定向到该子域的登录页面(例如techcraz.example.com/signin.)
  • 输入不存在的URL时,应将其重定向到注册页面.

我是Rails的新手.请帮忙!

提前致谢!

ruby subdomain ruby-on-rails devise

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

关于在运行guard init时不使用bundler的警告

在我的Rails应用程序运行时收到此警告guard init rspec:

Warning: you have a Gemfile, but you're not using bundler or
RUBYGEMS_GEMDEPS
14:54:15 - INFO - Writing new Guardfile to
/home/ubuntu/railsprojects/sillyfish/Guardfile 14:54:16 - INFO - rspec
guard added to Guardfile, feel free to edit it
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样.可以忽略这个警告吗?

这是我的Gemfile:

source 'https://rubygems.org'

gem 'rails', '4.2.4'
gem 'pg'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc

group :development, :test do
  gem …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails guard

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

为什么Ruby splat在条件赋值中不适用于数组强制?

尽管splat(*)构造通常被称为splat 运算符,但与其他一元运算符(例如negation(!)运算符)相比,很明显它是一个不同的野兽.

当在赋值(=)中使用时,splat在它自己的工作正常(即没有用括号括起来),但在与条件赋值(||=)一起使用时会产生错误.例:

a = *(1..3)
#=> [1, 2, 3]

b ||= *(1..3)
SyntaxError: (irb):65: syntax error, unexpected *
Run Code Online (Sandbox Code Playgroud)

我不是在寻找做同样事情的替代方法,而是寻找对Ruby内部有更好理解的人来解释为什么splat构造的这种用法在第一种情况下工作但在第二种情况下不工作.

ruby

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

使用关键字参数来描述proc

假设我有一个泛型Proc,Lambda或者method它带有一个可选的第二个参数:

pow = -> (base, exp: 2) { base**exp }
Run Code Online (Sandbox Code Playgroud)

现在我想巴结这个功能,给它一个exp3.

cube = pow.curry.call(exp: 3)
Run Code Online (Sandbox Code Playgroud)

这里存在歧义,源于关键字参数和新的哈希语法,其中Ruby将其解释exp: 3为作为第一个参数传递的哈希值base.这会导致立即调用该函数,从而将NoMethodErrorwhen #**发送到散列.


为第一个参数设置默认值同样会导致在currying时立即调用该函数,并且如果我根据需要标记第一个参数,而不提供默认值:

pow = -> (base:, exp: 2) { base**exp }
Run Code Online (Sandbox Code Playgroud)

base当我试图讨论时,翻译会抱怨我错过了争论Proc.


如何用第二个参数来讨论函数?

ruby functional-programming currying

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

如何使用RuboCop强制执行三元括号?

我有一个编码标准,表明三元的初始参数应始终在括号内,而不管表达式如何.

例如 foo = (thing.baz?) ? [] : thing.bar

以下应被视为违规行为:

例如 foo = thing.baz? ? [] : thing.bar

是否有可能使用Rubocop的内置警察来实现这一点,或者这是否需要自定义警察.如果是这样,我将如何实现它?

ruby rubocop

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

重复排列

我知道如何创建一组值的排列.例如:

[*1..3].permutation(2)
Run Code Online (Sandbox Code Playgroud)

这导致以下六种排列:

[1, 2]
[1, 3]
[2, 1]
[2, 3]
[3, 1]
[3, 2]
Run Code Online (Sandbox Code Playgroud)

但是这个结果缺少三个排列,它们是相同值的组合,即:

[1, 1]
[2, 2]
[3, 3]
Run Code Online (Sandbox Code Playgroud)

如何获得所有排列,包括上面的重复排列?

ruby

5
推荐指数
2
解决办法
2315
查看次数

XMLHttprequest.send(null)正在崩溃我的代码

我目前正在使用JavaScript编写搜索功能.

然而,当我试图测试我的创作时,我发现它已经中途停止,没有明显的原因.

以下是我的代码:

document.getElementById("test").innerHTML = "";
var Connect = new XMLHttpRequest();
Connect.open("GET", "xmlTest.xml", false);
document.getElementById("test").innerHTML = "1";
Connect.send(null);
document.getElementById("test").innerHTML = "2";
var docX = Connect.responseXML;
var linjer = docX.getElementsByTagName("linjer");
Run Code Online (Sandbox Code Playgroud)

第一行是清除代码中较早的潜在错误消息.然后我尝试打开一个XML文件,因为我需要从中读取它.

如您所见,我在那里输入了两个调试语句; 它们将打印1或2,具体取决于我在代码中获得的距离.

使用这个,我发现它完全停止在Connect.send(null);语句上(因为1被打印,但是2从不这样做),但我无法弄清楚为什么.Google表示,Chrome可能无法访问本地文件,但当我找到允许Chrome执行此操作的方法时,它仍然无效.

我究竟做错了什么?

html javascript xml

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

使用JSON正文内容参数调用HTTP GET

如何在内容正文中使用JSON参数调用HTTP GET?

我尝试了这个:

HttpWebRequest.WebRequest.Create(_uri);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "GET";
httpWebRequest.Headers.Add("X-AUTH-TOKEN", _apiKey);

using(var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) {
  string _json = "\"{\"filter\": {\"relation\": \"equals\", \"attribute\": \"state\", \"value\": \"CA\"  },  \"insights\": {\"field\": \"family.behaviors\",  \"calculations\": [\"fill_count\"]}}";

  streamWriter.Write(_json);
  streamWriter.Flush();
  streamWriter.Close();
}

var httpResponse = (HttpWebResponse) httpWebRequest.GetResponse();
using(var streamReader = new StreamReader(httpResponse.GetResponseStream())) {
  var result = streamReader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)

但它抛出一个异常:

“无法发送带有这种动词类型的内容主体。”

c#

5
推荐指数
2
解决办法
3324
查看次数