小编And*_*rit的帖子

加载带有值的附加配置文件

我在测试中使用了很多值,例如用户名和密码。

为此,我创建了一个配置文件,仅将这些数据存储在 JSON 中,如下所示:

{
    "login": "test",
    "password": "pass",
    "number": "1234",
}
Run Code Online (Sandbox Code Playgroud)

如果我在每个测试文件开始时请求它(一个文件用于登录,另一个文件用于其他),它对我有用

我怎样才能加载这个配置文件一次而不是在每个文件中。例如,我现在怎么做:

var configFile = require('./config.json');
Run Code Online (Sandbox Code Playgroud)

有人可以帮我设置这个吗?

javascript testing selenium end-to-end protractor

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

用括号解析ini文件

我有一个包含括号的.ini文件( ) 作为php.net recomend我用parse_ini_file()函数调用我的parse.ini文件,所以让我说我的代码如下:

$ini = parse_ini_file('files/models.ini');
Run Code Online (Sandbox Code Playgroud)

然后错误看起来像:

Warning: syntax error, unexpected '(' in files/models.ini on line 4 in \index.php on line 48
Run Code Online (Sandbox Code Playgroud)

这是第4行的文字

00name1=100 08/82-11/90 (443/445) Typový sešit [V] [27]
Run Code Online (Sandbox Code Playgroud)

问题是我从外部获取此文件,我无法更改它,

从多个站点我注意到一些单词在ini文件中有特殊含义,如"null""true""no""yes"但这不是这种情况.

所以,有人可以告诉我我做错了什么,或者这是不可能的有任何解决方法吗?

php ini parsing

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

如何在左侧站点制作带三角形的响应式气泡

我尝试制作一个无论在用户设备上都会响应的泡泡,并且它在左侧网站上也有一个三角形.

它应该如何: 在此输入图像描述

我尝试了什么:

HTML:

.responsive-bubble {
  position: relative;
  display: inline-block;
  max-width: 80%;
  min-width: 80%;
  min-height: 1.5em;
  padding: 20px;
  background: #ebebeb;
  border: #ebebeb solid 4px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 0px;
  border-style: solid;
  float: right;
}
.responsive-bubble:before {
  content: "";
  position: absolute;
  bottom: calc(89% - 3px);
  left: calc(-4% - 3px);
  border-style: solid;
  border-width: 18px 18px 0;
  border-color: #7F7F7F transparent;
  display: block;
  width: 0;
  z-index: 0;
}
Run Code Online (Sandbox Code Playgroud)
<div class="responsive-bubble">“And here comes some really long text which doesnt mean anything however it have …
Run Code Online (Sandbox Code Playgroud)

html javascript css css-shapes

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

如何使用参数运行npm {bin:script.js}

我正在计划做类似lodash自定义构建的东西.所以一般来说我想让用户写命令如下:

lodash category=collection,function
Run Code Online (Sandbox Code Playgroud)

这与我指定的类别一起创建自定义模块

我阅读了一些教程如何使用npm bin运行脚本.万一我理解错了,我会按照自己的想法写出来.

所以如果我有这个部分的package.json:

"main": "bin/index.js",
 "bin": {
   "snippet": "bin/index.js"
 },
Run Code Online (Sandbox Code Playgroud)

npm install -g控制台应该监听命令片段,当我写它时,它运行index.js文件夹中的脚本bin.

这部分看起来对我来说是正确的.当我在index.js中有一些简单的东西时console.log('It Works').

在标准情况下,您希望让用户将参数传递给脚本.所以我发现所有参数都应该是多变的process.argv.

process.argv属性返回一个数组,其中包含启动Node.js进程时传递的命令行参数.第一个元素是process.execPath.第二个元素将是正在执行的JavaScript文件的路径.其余元素将是任何其他命令行参数.

所以我只是console.log它并运行脚本.

  1. 如果我通过命令运行脚本snippet -f -a 输出是:[ 'node', 'path/to/file' ]

  2. 如果我通过node bin/index.js -f -a 输出运行脚本是:[ 'node', 'path/to/file', '-f', '-a' ]

我不明白,它的相同脚本但输出不同.但是我尝试它看起来就像当我通过bin命令调用脚本时它从不传递参数.

在这里有人有经验吗?并告诉我我做错了什么?

或者另外还有其他一些方法可以做到这一点吗?

谢谢你的任何建议.

javascript node.js npm

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

量角器-ngFor循环

我正在使用最新的Angular和最新的量角器版本,并且想知道如何在测试中使用ngFor循环。

过去在我的AngularJS应用程序中很简单。我只是用了类似的东西,by.repeater然后魔术就完成了。

但是现在在Angular 4 APP中我不是那么幸运。基于此票证,尚不支持。另一方面,当somone已经在使用它时,我看到了一个stackoverflow票证。

无论如何,我的HTML是:

<div *ngFor="let org of userOrgList; count as count">
   <button class="btn btn-default btn-lg col-xs-12" type="submit"  (click)="selectOrg(org.id)">{{org.name}}</button>
</div>
Run Code Online (Sandbox Code Playgroud)

我的测试看起来像:

var organizations = element.all(by.repeater('org of userOrgList'));

it('should have an org with specific name', function() {
    expect(organizations.get(0).getText()).toEqual('myOrgName');
});
Run Code Online (Sandbox Code Playgroud)

我得到一个错误:

失败:索引超出范围。尝试访问索引为0的元素,但只有0个元素与by.rep eater(“ userOrgList的组织;计数为计数”)的定位器匹配

我的问题是: 如何在量角器测试中使用ngFor

javascript protractor angular

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

如何在数据库中正确保存语言技能水平

我想我之前遇到过许多人的问题.我有一个注册表,用户可以选择该行星的任何语言,然后从选择框中选择相应语言的技能等级.

所以,例如:

Language1: German
Skill: Fluent
Language2: English
Skill: Basic
Run Code Online (Sandbox Code Playgroud)

我在想什么是在MySQL数据库中存储这些值的最佳方法.

我想到了两种方式.第一种方法:为每种语言创建一个列并为其分配技能值.

--------------------------------------------------
| UserID |   language_en    |  language_ge       |
--------------------------------------------------
|   22   |       1          |         4          |
--------------------------------------------------
|   23   |       3          |         4          |
--------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

因此语言始终是列的名称,数字代表技能级别(1. Basic,2.Average ...)

我相信这是一个很好的方式来处理这些事情,它也很快.当有50种或更多语言时,问题就开始了.如果用户具有该语言的任何技能,那么制作50列并不是一个好主意,其中脚本总是必须检查所有列.

第二种方法:在一个表的列中插入一个数组.该表将如下所示:

----------------------------------
| UserID |       languages       |  
----------------------------------
|   22   | "ge"=>"4", "en"=>"1"  |   
----------------------------------
Run Code Online (Sandbox Code Playgroud)

这样,ID为22的用户具有德国技能等级4和英语技能等级1.这样很好,因为我们不需要检查50个额外的列(甚至更多),但无论如何它都不是我眼中的正确方法.我们必须解析很多结果,并找到一个用户,例如,德国的1级和西班牙语的2级,而不是寻找英语技能水平 - 服务器需要更长的时间,当更大的数据出现时我们是麻烦.

我打赌你们很多人都遇到过这种问题.拜托,有人可以告诉我如何解决这个问题吗?

非常感谢.

mysql

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

量角器 - 在iframe中查找元素

在我的页面顶部,我调用了iframe:

<iframe ng-if="webpadUrl" id="webPadIframe" ng-src="http://Path/To/iFrame?sessionId=9bc9989441c8c9cfb9ff5bdc381a72ea" seamless="seamless" class="fullscreen ng-scope" src="http://Path/To/iFrame?sessionId=9bc9989441c8c9cfb9ff5bdc381a72ea">
</iframe>
Run Code Online (Sandbox Code Playgroud)

在iframe里面我有类似的东西:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 5845 3897">
Run Code Online (Sandbox Code Playgroud)

以及<g>具有不同ID的多个 等等.

<g id="30_0_80" transform="translate(420,754)" class="">
 <path class="fp x80 xab active" d="M307 0 L293 15 L155 120 L87 181 L47 220 L0 277 L0 282 L14 341 L27 379 L32 386 L32 386 L74 425 L123 461 L153 480 L188 500 L238 525 L303 551 L337 563 L340 563 L381 561 L490 560 L492 557 L522 526 L591 473 L662 …
Run Code Online (Sandbox Code Playgroud)

testing end-to-end protractor

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

按值单击元素 - 量角器

我点击模态窗口,这非常简单。一般来说,唯一相关的部分是:

\n\n
<div id="partSelection">\n   <button value="0" name="partSelection">BLATN\xc3\x8dK P L</button>\n   <button value="1" name="partSelection">BLATN\xc3\x8dK P P</button>\n
Run Code Online (Sandbox Code Playgroud)\n\n

\n\n

我需要单击此按钮之一,我知道如何单击此按钮:\nxpath:

\n\n
element(by.xpath(\'//*[@id="partSelection"]/button[2]\')).click();\n
Run Code Online (Sandbox Code Playgroud)\n\n

也可以使用按钮文本:

\n\n
element(by.buttonText("BLATN\xc3\x8dK P P")).click();\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我注意到每个按钮都有不同的值,我相信开发人员不会改变这一点。有没有办法根据值单击元素?

\n\n

谢谢您的建议。

\n

testing end-to-end angularjs protractor

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

如何在 freemarker ( .ftl ) 中转储对象

有没有办法如何转储整个对象并将其写在某个地方?

像: var_dump()在 php console.log中的 JS

我找到了类似的东西list,所以我在下面尝试了类似的东西:

<#list calculation as c>
${c}
</#list>
Run Code Online (Sandbox Code Playgroud)

但是模板会出错。我appriciate任何建议!

freemarker

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

Angular4 - 从组件而不是模板更改状态

在AngularJS中,我使用ui-router重定向我的应用程序内部(更改状态).

它有2个可能的重定向选项

  • 在模板中 ui-sref='stateName'
  • 在控制器中 $state.go()

我刚刚开始玩Angular(4),我发现只有这样才能改变模板中的路径:

  • 模板 routerLink="routePath"

是否存在某种方式,因为在ui-router中有从组件改变路由的方式?

router angular4 angular

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