1

こんにちは私は初めてSeleniumを使用していて、次のコードを実行していました。正常に動作しますが、Firefoxを開いた後、コード内のすべての手順が完了した後にすべてを実行する必要があるとコードが示しているため、コンソールに出力されません。

だから私の質問は、実際にステップを実行している間に、そのテキストをコンソールに出力するにはどうすればよいですか?

        var ProxyIP = "xxx.xxx.xx.xxx:80";

        RtbConsole.AppendText("Setting Up Firefox\n");

        //Firefox driver + proxy setup
        FirefoxProfile profile = new FirefoxProfile();
        String PROXY = ProxyIP;
        OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
        proxy.HttpProxy = PROXY;
        proxy.FtpProxy = PROXY;
        proxy.SslProxy = PROXY;
        profile.SetProxyPreferences(proxy);

        RtbConsole.AppendText("Launching Firefox\n");
        FirefoxDriver driver = new FirefoxDriver(profile);

        RtbConsole.AppendText("Navigating to http://whatsmyip.net/ \n");
        driver.Navigate().GoToUrl("http://whatsmyip.net/");


        IWebElement ip = driver.FindElement(By.XPath("/html/body/div/div/h1/span"));
        var myIP = ip.Text;

        RtbConsole.AppendText("Checking IP for Proxy\n");
        if (ProxyIP == myIP + ":80") {
            RtbConsole.AppendText("Proxy Test: Success\n");
        } else {
            RtbConsole.AppendText("Proxy Test: Failed\n");
        }

        //Close the browser
        driver.Quit();
4

1 に答える 1

0

このサイトは初めてなので、役に立たなかったら申し訳ありません。ただし、C# で selenium(webdriver) テストを作成しているときは、通常、append コマンドを使用しません。次のように、別の方法でコンソールにアプローチしてみてください。

Console.WriteLine("Text you wish to be outputted to the Console"); 
//OR MAYBE 
Console.Write("Text you wish to be outputted to the Console"); 

さらに、2 つのコマンドを同時に実行することが実際に可能かどうかはわかりませんが、if ステートメントを使用して、選択した他のコードの実行を条件として出力を作成するか、catch などを試すことができます。

これが役立つことを願っています! 乾杯!

于 2012-09-06T00:12:21.257 に答える