gpt4 book ai didi

IE 9/OF/Chrome Javascript/JQuery 浏览器测试框架

转载 作者:行者123 更新时间:2023-11-28 20:12:36 25 4
gpt4 key购买 nike

如果之前有人问过这个问题,但我无法在谷歌上找到答案,我深表歉意。

我正在为每个浏览器寻找一个测试插件,我可以在其中简单地记录一个测试(点击各种东西),然后只需点击“运行测试”就可以运行这个测试。如果我能写一些关于我需要什么样的答案的代码(即生成最终的 html),那是最好的,但如果可能的话就没问题。

我不能使用 JUnit 等东西的原因是因为我的代码使用了外部网络服务(例如在外部服务器上支付,我无法访问)并且在测试期间我被重定向到不同的页面,所以我认为它必须是一个测试插件。

如果插件可以与 Visual Studio 2010(或至少是 IE 插件)集成,那就太棒了,但我可以没有它。

我正在阅读 iMacros(Chrome,但不幸的是测试版)和 Selenium(Firefox),但我想知道最标准的方法是什么(我假设它已经完成了很长时间)。另外我需要一个用于 IE9 的,我还没有找到。

提前致谢,约瑟夫

附言。我创建了 AJAX 繁重的网页,所以简单的基于 URL 的测试是不够的(比如 Adob​​eBrowser 实验室)

最佳答案

Selenium非常适合网络浏览器自动化测试,最新版本适用于几乎所有版本的 IE (7 - 9)(我目前无法查看工作文档)和 Firefox 3 - 8,以及 Chrome 12 以上版本。

selenium 网站和 http://code.google.com/p/selenium/ 上有一些很好的例子网站也是。

(对于 Chrome 浏览器,您还需要下载 ChromeiumServer

这是我前一段时间弄乱的一些粗略的现成源代码

using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.IE;
using OpenQA.Selenium.Remote;
using System.Threading;

namespace ConsoleApplication1
{
class Program
{
const string Path = @"H:\Selenium\chromedriver_win_16.0.902.0\";

static void Main(string[] args)
{
TestMethodChromeViaServer();

WebBrowser(TestMethodFf());
WebBrowser(TestMethodIe());
WebBrowser(TestMethodChromeDefault());
}

/// <summary>
/// Runs the code in the browser.
/// </summary>
/// <param name="webDriver">The Web Driver to use to initiate a web browser.</param>
public static void WebBrowser(IWebDriver webDriver)
{
webDriver.Navigate().GoToUrl("http://nerddinner.com/Account/LogOn?returnUrl=%2F#");

IWebElement query = webDriver.FindElement(By.Id("UserName"));
query.Submit();

var foo = webDriver.FindElement(By.CssSelector("span[for='UserName']"));

webDriver.Quit();
}

/// <summary>
/// Launches Google Chrome via the service so multiple tests can be run before closing the service.
/// </summary>
public static void TestMethodChromeViaServer()
{
var service = ChromeDriverService.CreateDefaultService(Path);
service.Start();

IWebDriver driver = new RemoteWebDriver(service.ServiceUrl, DesiredCapabilities.Chrome());

WebBrowser(driver);

service.Dispose();
}

/// <summary>
/// Creates a Web Driver using Google Chrome.
/// </summary>
/// <returns>Web driver with ChromeDriver setup to the correct path.</returns>
public static IWebDriver TestMethodChromeDefault()
{
IWebDriver driver = new ChromeDriver(Path);

return driver;
}

/// <summary>
/// Creates a Web Driver using Firefox.
/// </summary>
/// <returns>Web driver with FirefoxDriver profile setup.</returns>
public static IWebDriver TestMethodFf()
{
var foxProfile = new FirefoxProfile
{
AcceptUntrustedCertificates = true
};

IWebDriver driver = new FirefoxDriver(foxProfile);

return driver;
}

/// <summary>
/// Creates a Web Driver using Internet Explorer.
/// </summary>
/// <returns>Web driver with InternetExplorerDriver setup.</returns>
public static IWebDriver TestMethodIe()
{
//// Must set the protected mode on each zone to be the same (on or off), under tools -> security tab
IWebDriver driver = new InternetExplorerDriver();

return driver;
}
}
}

关于IE 9/OF/Chrome Javascript/JQuery 浏览器测试框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8120287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com