【问题标题】:How to Navigate /visit various URLs using the same tab using Java如何使用 Java 使用同一选项卡导航/访问各种 URL
【发布时间】:2015-12-16 07:02:45
【问题描述】:

我正在尝试使用一个简单的 java 类来创建浏览测试以导航到多个 URL,我的代码的问题是每个 URL 都在新选项卡中打开,但我希望每个 URL 在相同的浏览器选项卡。有人告诉我,我目前的方法有点不对劲。 大多数人如何使用 Java 进行这些类型的浏览测试? 有没有人对他们将如何做到这一点有其他想法? 目标是检查一个网站的大约 15-20 个 URL,每个页面加载大约 3 秒钟,然后转到列表中的下一个 URL。 我的代码在下面...

import java.awt.Desktop;
import java.net.URI;

public class BrowseBingTest {

    public static void main (String args[]) throws Exception {

        Desktop d = Desktop.getDesktop();
        d.browse(new URI("http://www.bing.com"));
        d.browse(new URI("http://www.outlook.com"));
    }

}

【问题讨论】:

标签: java testing automated-tests qa browser-automation


【解决方案1】:

目标是检查一个网站的大约 15-20 个 URL,

也许您只是想验证 URL 是否有效?

如果是这样,您可以使用以下代码检查 URL:

/*
**  Check if the URL is valid (ie. it represents an actual file)
*/
public boolean isValid(URL url)
{
    try
    {
        //  Make first attempt using a HEAD request
        //  (the HEAD request won't actually read the data)

        HttpURLConnection http = (HttpURLConnection)url.openConnection();
        http.setRequestMethod( "HEAD" );
        http.connect();

        //  Some invalid HEAD request work with a GET request, try again
        //  (but it reads the data so it is slower than a HEAD request)

        if ( http.getResponseCode() != HttpURLConnection.HTTP_OK)
        {
            System.out.print( http.getResponseCode() + " : " );
            System.err.print( http.getResponseCode() + " : " );

            http = (HttpURLConnection)url.openConnection();
            http.setRequestMethod( "GET" );
            http.connect();
        }

        return http.getResponseCode() == HttpURLConnection.HTTP_OK;

    }
    catch (IOException e)
    {
        return false;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多