小编Rya*_*ton的帖子

Bash忽略特定命令的错误

我正在使用以下选项

set -o pipefail
set -e
Run Code Online (Sandbox Code Playgroud)

在bash脚本中停止执行错误.我有100个脚本执行,我不想检查脚本的返回代码.但对于特定的脚本,我想忽略错误.我怎样才能做到这一点 ?

linux bash

399
推荐指数
9
解决办法
23万
查看次数

Selenium可以使用JUnit截取测试失败的截图吗?

当我的测试用例失败时,特别是在我们的构建服务器上,我想拍摄屏幕的图片/屏幕截图,以帮助我调试稍后发生的事情.我知道如何截取屏幕截图,但我希望takeScreenshot()在浏览器关闭之前,如果测试失败,JUnit中的方法可以调用我的方法.

不,我不想编辑我们的测试来添加try/catch.我想,我可能,也许可能会被说成一个注释.我的所有测试都有一个共同的父类,但我想不出我能做什么来解决这个问题.

想法?

java junit selenium junit4 selenium-webdriver

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

当我尝试使用AWS Cognito登录时,我得到一个关于我的自定义Lambda触发器的AccessDeniedException

我正在调用adminInitiateAuth并为我自己的lambda返回一个奇怪的AccessDeniedException.

这是我正在调用的代码:

      var params = {
        AuthFlow: "ADMIN_NO_SRP_AUTH",
        ClientId: "@cognito_client_id@",
        UserPoolId: "@cognito_pool_id@",
        AuthParameters: {
          USERNAME : username,
          PASSWORD : tempPassword
        },
      };
      cognitoIdentityServiceProvider.adminInitiateAuth(params, function(error, data) {
        if (error) {
          console.log("ERROR! Login failed: " + JSON.stringify(error), error.stack);
        } else {
          console.log("Login sent back: " + JSON.stringify(data));
        }
      });
Run Code Online (Sandbox Code Playgroud)

我得到的错误信息是:

ERROR! Login failed: {"message":"arn:aws:lambda:us-east-1:201473124518:function:main-devryan-users_onCognitoLogin failed with error AccessDeniedException.","code":"UnexpectedLambdaException","time":"2017-02-25T18:54:15.109Z","requestId":"ce42833f-fb8b-11e6-929b-2f78b63faa12","statusCode":400,"retryable":false,"retryDelay":1.0853444458916783} UnexpectedLambdaException: arn:aws:lambda:us-east-1:201473124518:function:main-devryan-users_onCognitoLogin failed with error AccessDeniedException.
Run Code Online (Sandbox Code Playgroud)

有谁知道我为什么会收到这个错误?

amazon-cognito aws-cognito

18
推荐指数
3
解决办法
4963
查看次数

如何使用Gulp订购注入的文件?

我的Angular应用程序具有以下结构

- src/app/main/
    |
    -main.js
    -main.controller.js
    -index.html
Run Code Online (Sandbox Code Playgroud)

我正在使用Gulp.构建完成后,*.js文件以错误的顺序注入index.html.该文件main.js取决于main.controller.js,所以main.controller.js必须先注入main.js.

<!-- build:js({.tmp/serve,.tmp/partials,src}) scripts/app.js -->
<!-- inject:js -->
<script src="app/main/main.js"></script>
<script src="app/main/main.controller.js"></script>
<script src="app/index.js"></script>
<!-- endinject -->
Run Code Online (Sandbox Code Playgroud)

这是我的 gulpfile.js

'use strict';

var gulp = require('gulp');
var gutil = require('gulp-util');
var wrench = require('wrench');

var options = {
  src: 'src',
  dist: 'dist',
  tmp: '.tmp',
  e2e: 'e2e',
  errorHandler: function(title) {
    return function(err) {
      gutil.log(gutil.colors.red('[' + title + ']'), err.toString());
      this.emit('end');
    }; …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs gulp

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

在Windows 10上安装无服务器后,我无法在命令提示符下运行"无服务器"

我安装了NodeJS,似乎工作正常.运行npm工作正常,我可以安装包.然后我跑了

npm install serverless -g
Run Code Online (Sandbox Code Playgroud)

这也很好.但是当我尝试运行时:

serverless
Run Code Online (Sandbox Code Playgroud)

在Windows命令提示符下,我收到有关未找到命令的错误.

'serverless' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

我的答案如下.

lambda node.js serverless-framework

8
推荐指数
3
解决办法
5194
查看次数

当窗口位于 Chrome 87 的后台时,Webdriver.io/Selenium 测试失败

我刚刚升级到最新版本的 Chrome 87。无论 Chrome 窗口是在前台还是后台,我的 Webdriver.io/Selenium 测试都可以正常运行。现在,升级后,如果窗口在前台,则测试通过,但如果它在后台则不通过。

我没有最小化运行我的测试的 Chrome 窗口。我只是按 Alt+Tab,这样我的 IDE 就在 Chrome 前面,它在后面。

我知道 Chrome 87 有一个新的“功能”,如果它不在前台,它会使用更少的 CPU。有没有办法使用 Chrome 或 Chromedriver 设置关闭它?

似乎我的测试是找到要点击的按钮,但 Chrome 没有注册点击。

webdriver node.js selenium-webdriver webdriver-io

8
推荐指数
2
解决办法
1574
查看次数

Cognito 在调用 Lambda 函数时返回 UnexpectedLambdaException 超时错误

我第一次登录应用程序时,早上第一件事,AWS Cognito 返回此错误:

{
  "message": "arn:aws:lambda:us-east-1:XXXXXXXXXX:function:main-devryan-users_onCognitoLogin failed with error Socket timeout while invoking Lambda function.",
  "code": "UnexpectedLambdaException",
  "time": "2017-08-29T13:30:01.351Z",
  "requestId": "1c04c982-8cbe-11e7-b9c9-a584e55a17f8",
  "statusCode": 400,
  "retryable": false,
  "retryDelay": 96.636396268355
}
Run Code Online (Sandbox Code Playgroud)

第二次,以及此后接下来的每一次,一切都很好。

当我在 Cloudwatch 中检查 main-devryan-users_onCognitoLogin 函数的日志时,它在 2.3 秒内成功完成:

REPORT RequestId: 1f2d5a22-8cbe-11e7-ba74-5b21665a40c1  Duration: 2283.60 ms    Billed Duration: 2300 ms Memory Size: 128 MB    Max Memory Used: 51 MB  
Run Code Online (Sandbox Code Playgroud)

每次之后,在一天剩下的时间里,我都没有看到这个错误。我的 Lambda 设置为 30 秒后超时,但我知道Cognito 需要在 5 秒内响应

我的 lambda 函数只是更新数据库中的上次登录时间。第一次很慢,因为创建与 RDS 数据库的连接大约需要 1.8 秒。我在这部分使用 Node JS 6 和 Sequelize 3。

我猜测 Lambda …

lambda amazon-web-services sequelize.js amazon-cognito

7
推荐指数
2
解决办法
6991
查看次数

Fargate 容量不足时该怎么办?

我正在使用以下命令启动单个 ECS Fargate 任务:

aws ecs run-task --cluster Fargate \
 --task-definition $ECR_REPO-run-setup 
 --overrides file:///tmp/ecs-overrides-db-migrate.txt \
 --count 1 --launch-type FARGATE \
 --network-configuration "awsvpcConfiguration={subnets=[$PUBLIC_SUBNET_1, $PUBLIC_SUBNET_2],securityGroups=[$FARGATE_SG],assignPubli cIp=ENABLED}"
Run Code Online (Sandbox Code Playgroud)

目前我的账户中根本没有运行任何 ECS 服务、任务或实例。这是我得到的回应:

{
    "failures": [
        {
            "reason": "Capacity is unavailable at this time. Please try again later or in a different availability zone"
        }
    ],
    "tasks": []
}
Run Code Online (Sandbox Code Playgroud)

我什至看不到为 Fargate 任务指定不同可用区的方法?

如果我应该重试,我应该等待多长时间才能重试?

amazon-ecs aws-fargate

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

为什么Get-EC2PasswordData返回"参数不正确."?

我正在使用powershell来调用Get-EC2PasswordData,如下所示:

$instances = (Get-EC2Instance -Filter @($envFilter, $stateFilter)).Instances

$instances | Foreach-object {
    $instID = $_.InstanceId
    Write-Host Getting password to $instID...
    $password = Get-EC2PasswordData -InstanceId $instID -PemFile "c:\my.pem" -Decrypt
    Write-Host Username/Password for $_.PrivateIpAddress is Administrator/$password

}
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

Getting password to i-3e961280 ...
Get-EC2PasswordData : Value cannot be null.
Parameter name: s
At C:\temp\CIS-aws-volumes\copyToMachine.ps1:12 char:17
+     $password = Get-EC2PasswordData -InstanceId $instID -PemFile "c:\docs\ssh\ci ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Amazon.PowerShe...swordDataCmdlet:GetEC2PasswordDataCmdlet) [Get-EC2
   PasswordData], ArgumentNullException
    + FullyQualifiedErrorId : InvalidOperationException,Amazon.PowerShell.Cmdlets.EC2.GetEC2PasswordDataCmdlet

Username/Password for 10.185.30.124 is Administrator/ …
Run Code Online (Sandbox Code Playgroud)

powershell amazon-ec2 amazon-web-services aws-powershell

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

我可以在AWS CloudFormation启动URL中设置参数吗?

我需要将用户指向他们需要运行的cloudformation堆栈,但我希望能够根据用户对其进行个性化设置.我已经读过这篇文章了,我想创建一个像这样的URL:

https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=SomeName&MyParam=blah&templateURL=https://s3.amazonaws.com/mytemplate.json

请注意中间的"MyParam = blah".用户仍然可以将参数更改为他们想要的任何内容,但我希望能够设置默认值.除了为每个用户编写自定义Cloudformation模板之外的任何想法?

amazon-web-services aws-cloudformation

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