2017-11-17 6 views
1

私はK6の初めてのユーザーだと私はすでに、スクリプトを実行しているときにエラーを取得するために管理してきましたが返されます。負荷テストのためのK6スクリプトを実行すると、エラー

「リクエストは[33merror [0メートル=失敗しました」 HTTPSを取得:///:0後 を停止したが

スクリプトk6.js」リダイレクトします?私はこのエラーを取得し、解決策は何であるのはなぜ

import http from "k6/http"; 
import { sleep } from "k6"; 

export let options = { 
stages: [ 
    { duration: "30s", target: 20 }, 
    { duration: "1m30s", target: 10 }, 
    { duration: "20s", target: 0 }, 
    ] 
}; 

export default function() { 
    let res = http.get("https://<our_page_URL>/"); 
    check(res, { 
    "status code MUST be 200": (res) => res.status == 200, 
    }) || fail("status code was *not* 200"); 
    sleep(1); 
} 

+0

なぜあなたは '|| 'options.throw'を' true'に設定するのではなく、 'fail()'チェックを行いますか? – Sander

+0

良い質問です。私はこの例をk6ページで見つけ、私にとっては役に立つと思われたので、それを使ってどのように動作するのかを確認しました。残念ながらoptions.throwの使い方はわかりませんが、ドキュメントを調べます。 – jurijk

+0

@Sander&jurijk私はドキュメントがoptions.throwが存在する前に書かれたと思う。これを指摘してくれてありがとう、私はドキュメントを更新することができます私は表示されます! – Ragnar

答えて

2

maxRedirectsオプションを設定する必要があります。 maxRedirectsは、リクエストで断念する前にk6が従うHTTPリダイレクトの最大数です(「$ MAX_REDIRECT_VALUEリダイレクト後に$ PATHが停止しました」)

CLI引数またはスクリプトオプションとしてこのオプションを渡すことができます。このオプションの詳細https://docs.k6.io/docs/options

export let options = { 
    // Max redirects to follow (default is 10) 
    maxRedirects: 10 
}; 

でデフォルトは10ですので、割り当てられているデフォルト値を飛ばしバグがありそうです。

これはどのように動作するかをテストするためにredirect exampleです。

import http from "k6/http"; 
import {check} from "k6"; 

export let options = { 
    // Max redirects to follow (default is 10) 
    maxRedirects: 5 
}; 

export default function() { 
    // If redirecting more than options.maxRedirects times, the last response will be returned 
    let res = http.get("https://httpbin.org/redirect/6"); 
    check(res, { 
     "is status 302": (r) => r.status === 302 
    }); 

    // The number of redirects to follow can be controlled on a per-request level as well 
    res = http.get("https://httpbin.org/redirect/1", {redirects: 1}); 
    console.log(res.status); 
    check(res, { 
     "is status 200": (r) => r.status === 200, 
     "url is correct": (r) => r.url === "https://httpbin.org/get" 
    }); 
} 
+0

ppcano:これは私の一日を保存しました!ありがとうございました!今私は最終的にエラーがなく、残りは完璧に動作します。 – jurijk

+0

@jurijk:お手伝いします。私はあなたがすでにスラックの会話の後に問題を解決したと思ったので、私は以前の質問に答えなかったのです。 ご質問やご不明な点がありましたらお知らせください。 バグについてのgithubの問題も開けます。https://github.com/loadimpact/k6/issues/369 – ppcano

関連する問題