2

Nightwatch.js を使用して Web サイトをテストしています。Nightwatch.js で Web サイトのタブをクリックしたいのですが、クリックが機能しません。少なくとも効果はない…

クリックする要素の HTML コードは次のようになります。

<div>
    <ul id="tabs">
        <li id="tiresTab">
            <a href="#tires">Word</a>
        </li>
    </ul>
</div>

Nightwatch.js で次のように書きました。

.waitForElementVisible('li[id="tiresTab"]', 10000)
.click('li[id="tiresTab"]')

しかし、何も起こりません。タブが開かれていません。そして、Nightwatch の次のコマンドは失敗しています。これは、Nightwatch によってクリックが実行されているが、タブが開かないことを意味します。ただし、手動でクリックするとタブを開くことができます。ここで何が問題になる可能性がありますか?

4

3 に答える 3

1

おそらく、ユーザーには見えない要素をクリックしようとしています。たとえば、ドロップダウン オプションをクリックしてから -

  1. ドロップダウンが表示されるまで待ちます
  2. ドロップダウンをクリックして、コールバックで次の操作を行います。
    1. ドロップダウン オプションが表示されるまで待ちます (CSS のフル パスは指定しないでください)。
    2. ドロップダウンオプションをクリックします

サンプルコードはこちら -

    .waitForElementVisible('.someClass > .btn-group:nth-child(3)',6000)
    .click('.someClass > .btn-group:nth-child(3)',function(){
        this.waitForElementVisible('#idOfOption',10000);
        this.click('#idOfOption')
    })
于 2016-06-01T15:05:53.420 に答える
1
<div>
    <ul id="tabs">
        <li id="tiresTab">
            <a href="#tires" name="tires">Word</a>
        </li>
    </ul>
</div>

IN Nightwatch.js あなたは次のように書きます:

.waitForElementVisible('li[id="tiresTab"]', 10000)
.click('a[name="tires"]')

これでうまくいくと思います。

于 2015-07-02T11:58:40.123 に答える