0

こんにちは、テストと if ステートメントを実行する emun があります。

public enum Test_Criteria
    {
        Pass,
        Warning,
        Fail
    }

if ステートメントを実行した後

if (driver.Url.Contains("Postcode.aspx?type=billing&mode=guest"))
        {

            return Test_Criteria.Pass;
        }

        else
        {
            return Test_Criteria.Fail;  
        }

ここのすぐ下にある次のテストに進むための到達不能なコードを取得しています

driver.FindElement(By.Id("Pagecontent_TextBoxPostCode")).SendKeys("#####");

プログラムがリターン後にコードを継続できるようにする最も賢明な方法は何でしょうか。ありがとう

4

3 に答える 3

3

ifand句の両方で戻っelseているため、コードが次のifステートメントの後に到達しないのはそのためです。チェックが失敗したかどうかに関係なく、コードはメソッドから返されます。そのため、エラー/警告が表示されます。

于 2013-03-13T09:55:39.767 に答える
0

それぞれが関数から返される 2 つの実行パスがあるため、if-else ブロックの後に続行することは実際には不可能です。

これを試して:

var urlContains = driver.Url.Contains("Postcode.aspx?type=billing&mode=guest"));
var result = urlContains ? Test_Critera.Pass : Test_Criteria.Fail;

driver.FindElement(By.Id("Pagecontent_TextBoxPostCode")).SendKeys("#####");
//the rest of your code

return result;
于 2013-03-13T10:20:16.577 に答える