C# 通过编码的UI测试生成器自动运行网站时失败取消应用程序异常
我想通过编码的UI测试生成器自动化一个网站,例如,打开Chrome,然后打开Facebook,输入用户和密码,然后登录 我创建了以下步骤:C# 通过编码的UI测试生成器自动运行网站时失败取消应用程序异常,c#,selenium-webdriver,c#-4.0,coded-ui-tests,C#,Selenium Webdriver,C# 4.0,Coded Ui Tests,我想通过编码的UI测试生成器自动化一个网站,例如,打开Chrome,然后打开Facebook,输入用户和密码,然后登录 我创建了以下步骤: public void openchrome() { // Launch '%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe' ApplicationUnderTest chromeApplication = ApplicationUnderTest.L
public void openchrome()
{
// Launch '%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe'
ApplicationUnderTest chromeApplication = ApplicationUnderTest.Launch(this.openchromeParams.ExePath, this.openchromeParams.AlternateExePath);
}
/// <summary>
/// openfb - Use 'openfbParams' to pass parameters into this method.
/// </summary>
public void openfb()
{
#region Variable Declarations
WinClient uINewTabClient = this.UINewTabGoogleChromeWindow.UINewTabButton.UINewTabClient;
WinEdit uIAddressandsearchbarEdit = this.UINewTabGoogleChromeWindow.UIItemGroup.UIAddressandsearchbarEdit;
WinWindow uIFacebookLogInorSignUWindow = this.UIFacebookLogInorSignUWindow;
#endregion
// Click 'New Tab' client
Mouse.Click(uINewTabClient, new Point(44, 6));
// Type 'https://www.facebook.com' in 'Address and search bar' text box
uIAddressandsearchbarEdit.Text = this.openfbParams.UIAddressandsearchbarEditText;
// Click 'Facebook - Log In or Sign Up - Google Chrome' window
Mouse.Click(uIFacebookLogInorSignUWindow, new Point(535, 85));
}
/// <summary>
/// username - Use 'usernameParams' to pass parameters into this method.
/// </summary>
public void username()
{
#region Variable Declarations
WinWindow uIFacebookLogInorSignUWindow = this.UIFacebookLogInorSignUWindow;
WinMenu uIAutofillMenu = this.UIItemWindow.UIItemClient.UIAutofillMenu;
WinControl uIFacebookLogInorSignUDocument = this.UINewTabGoogleChromeWindow.UIFacebookLogInorSignUDocument;
#endregion
// Click 'Facebook - Log In or Sign Up - Google Chrome' window
Mouse.Click(uIFacebookLogInorSignUWindow, new Point(1275, 167));
// Type '{NumPad1}' in 'Autofill' popup menu
Keyboard.SendKeys(uIAutofillMenu, this.usernameParams.UIAutofillMenuSendKeys, ModifierKeys.None);
// Type '{NumPad4}{NumPad3}{NumPad5}{NumPad4}{NumPad5}{NumPad9}b' in 'Facebook - Log In or Sign Up - Google Chrome' document
Keyboard.SendKeys(uIFacebookLogInorSignUDocument, this.usernameParams.UIFacebookLogInorSignUDocumentSendKeys, ModifierKeys.None);
}
/// <summary>
/// password - Use 'passwordParams' to pass parameters into this method.
/// </summary>
public void password()
{
#region Variable Declarations
WinWindow uIFacebookLogInorSignUWindow = this.UIFacebookLogInorSignUWindow;
WinMenu uIAutofillMenu = this.UIItemWindow.UIItemClient.UIAutofillMenu;
#endregion
// Click 'Facebook - Log In or Sign Up - Google Chrome' window
Mouse.Click(uIFacebookLogInorSignUWindow, new Point(1476, 177));
// Type '{NumPad1}{NumPad2}{NumPad3}' in 'Autofill' popup menu
Keyboard.SendKeys(uIAutofillMenu, this.passwordParams.UIAutofillMenuSendKeys, ModifierKeys.None);
}
/// <summary>
/// login
/// </summary>
public void login()
{
#region Variable Declarations
WinWindow uIFacebookLogInorSignUWindow = this.UIFacebookLogInorSignUWindow;
#endregion
// Click 'Facebook - Log In or Sign Up - Google Chrome' window
Mouse.Click(uIFacebookLogInorSignUWindow, new Point(1647, 177));
}
public void openchrome()
{
//启动“%ProgramFiles(x86)%\Google\Chrome\Application\Chrome.exe”
ApplicationUnderTest chromeApplication=ApplicationUnderTest.Launch(this.openchromeParams.ExePath,this.openchromeParams.AlternateExePath);
}
///
///openfb-使用“openfbParams”将参数传递到此方法中。
///
公开作废openfb()
{
#区域变量声明
WinClient uINewTabClient=this.UINewTabGoogleChromeWindow.UINewTabButton.uINewTabClient;
WinEdit uIAddressandsearchbarEdit=this.UINewTabGoogleChromeWindow.UIItemGroup.uIAddressandsearchbarEdit;
WinWindow uIFacebookLogInorSignUWindow=this.uIFacebookLogInorSignUWindow;
#端区
//单击“新建选项卡”客户端
鼠标点击(uINewTabClient,新点(44,6));
//类型'https://www.facebook.com'在'地址和搜索栏'文本框中
uIAddressandsearchbarEdit.Text=this.openfParams.UIAddressandsearchbarEditText;
//单击“Facebook-登录或注册-谷歌浏览器”窗口
鼠标点击(uIFacebookLogInorSignUWindow,新点(535,85));
}
///
///用户名-使用“usernameParams”将参数传递到此方法中。
///
公共无效用户名()
{
#区域变量声明
WinWindow uIFacebookLogInorSignUWindow=this.uIFacebookLogInorSignUWindow;
WinMenu uIAutofillMenu=this.UIItemWindow.UIItemClient.uIAutofillMenu;
WinControl uIFacebookLogInorSignUDocument=this.UINewTabGoogleChromeWindow.uIFacebookLogInorSignUDocument;
#端区
//单击“Facebook-登录或注册-谷歌浏览器”窗口
鼠标点击(uIFacebookLogInorSignUWindow,新点(1275167));
//在“自动填充”弹出菜单中键入“{NumPad1}”
键盘.SendKeys(uIAutofillMenu,this.usernameParams.UIAutofillMenuSendKeys,ModifierKeys.None);
//在“Facebook-登录或注册-谷歌浏览器”文档中键入“{NumPad4}{NumPad3}{NumPad5}{NumPad4}{NumPad5}{NumPad9}b”
键盘.SendKeys(UIFaceBookLoginSignudDocument,this.usernameParams.UIFaceBookLoginSignudDocumentSendKeys,ModifierKeys.None);
}
///
///密码-使用“passwordParams”将参数传递到此方法。
///
公共无效密码()
{
#区域变量声明
WinWindow uIFacebookLogInorSignUWindow=this.uIFacebookLogInorSignUWindow;
WinMenu uIAutofillMenu=this.UIItemWindow.UIItemClient.uIAutofillMenu;
#端区
//单击“Facebook-登录或注册-谷歌浏览器”窗口
鼠标点击(uIFacebookLogInorSignUWindow,newpoint(1476177));
//在“自动填充”弹出菜单中键入“{NumPad1}{NumPad2}{NumPad3}”
键盘.SendKeys(uIAutofillMenu,this.passwordParams.UIAutofillMenuSendKeys,ModifierKeys.None);
}
///
///登录
///
公共无效登录()
{
#区域变量声明
WinWindow uIFacebookLogInorSignUWindow=this.uIFacebookLogInorSignUWindow;
#端区
//单击“Facebook-登录或注册-谷歌浏览器”窗口
鼠标点击(uIFacebookLogInorSignUWindow,newpoint(1647177));
}
但是,当我创建任何网站自动化时,当我使用编码的UI测试生成器创建它时,我得到了这个错误:
失败的CodedUITestMethod1 TestProject3测试方法TestProject3.CodedUITest1.CodedUITestMethod1引发异常:
…Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToRunchApplicationException:“无法启动应用程序。这可能是由于以下原因之一: 您没有此应用程序的足够权限。文件: %程序文件(x86)%\Google\Chrome\Application\Chrome.exe 这也 另一个控件正在阻止该控件。请把电话接通 控件可见,然后重试该操作
如果你能用评论的新信息编辑你的文章,这将有助于存档 “FailedOperationOnBlockedControlException”是因为您尝试单击的控件前面有另一个控件,或者它位于与看起来不同的逻辑位置 尝试通过执行以下操作,将控件作为一个点单击:
Mouse.Click(control.ToPoint());
其中ToPoint是一个扩展方法,它接受一个控件,然后获取控件的x和y坐标。BoundingRectangle。不要让我们悬而未决。有什么例外!?“无法启动该应用程序。这可能是由于以下原因之一:1)该应用程序的另一个实例已在运行,一次只能运行一个实例。2)该应用程序启动了另一个进程,现在已停止。您可能需要直接启动该进程。3)您没有足够的权限运行该应用程序。”是应用程序。“文件:%ProgramFiles(x86)%\Google\Chrome\application\Chrome.exe。我已经有一段时间没有使用编码UI了。我记得你必须以管理员的身份运行IE。也许Chrome现在也需要提升权限,但这只是一个猜测。好的,谢谢,我现在就试试你的建议。这次我遇到了这个错误: