Set time out for page
Driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromMinutes(_pagetimeout));
Page Title
Driver.Title
Dropdown Select
SelectElement se = new SelectElement(Driver.FindElement(By.Id(selectControlId)));
Take ScreenShot
public static void GetScreenShot(Exception e)
{
DateTime time =DateTime.Now;
String dir = @"..\..\..\..\..\TestResults\ScreenShot\";
String path = dir +time.Year+time.Month+ time.Day + time.Hour + time.Minute + time.Second + ".png";
if (! Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
((ITakesScreenshot)Driver).GetScreenshot().SaveAsFile(path,System.Drawing.Imaging.ImageFormat.Png);
BrowserSeleniumHelper.assertFail(e);
}
Excute JavaScript
string script= "var start = document.getElementById('StartDate');" +
"start.value='2014-08-03 00:00:00';" ;
IJavaScriptExecutor js = (IJavaScriptExecutor)Driver;
js.ExecuteScript(script);
BrowserSeleniumHelper.ExcuteScript("return document.getElementById('EndDate').click()");
BrowserSeleniumHelper.ClickElement(By.XPath("/html/body/div[@class='t-animation-container']/div[@class='t-widget t-calendar t-popup t-datepicker-calendar']/table[@class='t-content']/tbody/tr[2]/td[2]/a[@class='t-link']"));
Wait Element
private static void WaitElement(By by, double minutes)
{
try
{
WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromMinutes(minutes));
wait.Message = by.ToString() + " is not exist";
wait.Until((d) => { return d.FindElement(by); });
}
catch(Exception e)
{
BrowserSeleniumHelper.GetScreenShot(e);
}
}
Support Multiple launch broser
public static void OpenBrowserMultipleTimes(string pageTitle, int actionCount)
{
bool isInited = false;
for (int i = 0; i < actionCount; i++)
{
try
{
if (!isInited)
{
OpenBrowser(pageTitle);
isInited = true;
}
}
catch (System.TimeoutException e)
{
}
catch (Exception e)
{
BrowserSeleniumHelper.GetScreenShot(e);
i = actionCount;
}
}
}
Switch to Window
public static void SwitchToWindow()
{
var windows = Driver.WindowHandles;
foreach (var window in windows)
{
if (Driver.CurrentWindowHandle != window)
{
Driver.SwitchTo().Window(window);
}
}
}
本文介绍了使用 Selenium WebDriver 进行网页自动化测试的一些实用技巧,包括设置页面加载超时、获取页面标题、下拉框选择操作、截图保存、执行 JavaScript 代码、元素等待及窗口切换等。
5400

被折叠的 条评论
为什么被折叠?



