1

stale element reference exception以下のコードを使用すると を受信し続けるので、try/catchブロックを追加することにしました。私はまだこのエラーを受け取ります。私のtry/catchブロックは正しく書かれていませんか?

  it 'should test cells updated correctly', ->
    try 
      element(By.css('#D6'))
      console.log('try')
    catch staleElementException
      console.log('catch')


    element(By.css('#D6')).click().then ->
      expect(element(By.css('div.gc-formula-input')).getText()).toBe 'hello'
4

1 に答える 1

1

try/catch ブロックをループに入れて、例外のスローが停止するまで待ちます。次に、要素をクリックします。

コーヒースクリプトと分度器を使うのはこれが初めてなので、ご容赦ください。

it 'should test cells updated correctly', ->

    // Define a function to check if an element is stale
    elementIsStale = (elementToCheck) ->
            try
                // Silently exercise the element
                elementToCheck.getText
                false
            catch staleElementException
                true

    // Wait while the element is stale
    while elementIsStale(element(By.css('#D6')))
        // wait a moment - don't know how to do this in coffeescript

    // Now we're ready to click on the element
    element(By.css('#D6')).click().then ->
        expect(element(By.css('div.gc-formula-input')).getText()).toBe 'hello'
于 2015-01-28T18:20:12.187 に答える