【问题标题】:CodedUI Test Change URLCodedUI 测试更改 URL
【发布时间】:2013-11-26 14:52:03
【问题描述】:

我想在我的系统的不同副本(不同的 url - 相同的系统)中运行我记录的 coded-ui 测试。我需要更改 URL 字符串,并且我想在我的测试文件中执行此操作(在本例中名为:d01.cs) 这里是: 我有一个测试名称 D01.cs,这是我定义参数的部分:

 public void D01()
        {

            this.UIMap.D01Params.UIRtbTxt1EditText = TestContext.DataRow["test1"].ToString();
            this.UIMap.D01();

In UIMap.Designer i found this:


public class D01Params
 #region Fields
        /// <summary>
        /// Go to web page 'http://localhost:8095/Login.aspx' using new browser instance
        /// </summary>
        public string UIBlankPageWindowsInteWindowUrl = "http://localhost:8095/Login.aspx"

我想将 url 作为参数写入我的 D01.cs 文件中。如果可能的话,我想从 excel 中获取它。但我找不到正确的属性来设置它。 this.UIMAP... 没有回答

我该怎么办?我尝试使用: this.UIBlankPageWindowsInteWindowUrl 但仍然无法正常工作。

【问题讨论】:

  • 你试过这个问题的答案吗:stackoverflow.com/questions/13376084/… ?
  • 是的,我看过但我找不到我正在寻找的答案。该主题建议使用测试编辑器,但我喜欢从我保存其他参数的 excel 中获取我的 URL。我的意思是,使用这些参数在这个 URL 中运行这个测试。我对每个字段都很好,但我找不到正确的属性来设置我的 URL
  • 顺便说一句,我使用的是同一个浏览器。就我而言,相同的 Internet Explorer。我只需要重写 URL。

标签: c# testing url-rewriting automated-tests coded-ui-tests


【解决方案1】:

根据我在 CUIT 方面的经验,CUI 测试生成器为我们生成的方法创建了一个 params 类。 如果你去你的方法的定义(F12),你会发现这一行。

BrowserWindow browser = BrowserWindow.Launch(new System.Uri(this.D01Params.Url));

您可以将自己的 URL 分配给 D01Params

this.UIMap.D01Params.UIBlankPageWindowsInteWindowUrl = this.TestContext.DataRow["YourNewUrl"].ToString();
this.UIMap.D01Params.UIRtbTxt1EditText = TestContext.DataRow["test1"].ToString();
this.UIMap.D01();

【讨论】:

    【解决方案2】:

    您说您想从 excel 导入,但我没有在您的代码中看到数据源。你为excel设置了DataSource吗?

    例如:

    DataSource("System.Data.Odbc", "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=|DataDirectory|\\Data.xls;defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5;readonly=true", "Sheet1$", DataAccessMethod.Sequential), TestMethod]
    

    设置数据源后,您现在可以从数据源访问该行数据了。

    访问列的语法如下:

    string paramVal = TestContext.DataRow["Input1"]
    

    【讨论】:

    • 这不是关于 excel,这就是为什么我没有发布我的连接字符串,但如果它有帮助,那就是:[TestMethod] [DeploymentItem(@"C:\Test\DataFiles\Excel.xlsx") ] 并在我的 app.config 中:
    【解决方案3】:

    如果您在link I sent you 的第二个答案中关注the directions,您将找到有关如何从您的 Excel 工作表中获取数据的说明。

    然后您可以将这些数据放入:

    BrowserWindow window = BrowserWindow.Launch(new System.Uri(urlFromExcel));
    

    【讨论】:

    • 我从 excel 中获取数据没有任何问题。我想我写的比它更复杂。忘记 excelsheets :) 我需要在我的编码 ui 测试中更改 url 值。
    • 好的,所以您只需要第二部分告诉您将数据放在哪里?我包含的代码将启动一个新浏览器,其中包含您提供的任何 url,来自 excel 等。这是您需要的吗?如果您的 UIMap 中有浏览器对象,您仍然可以使用链接中的示例将新启动的浏览器映射到映射控件进行测试。
    • 我找不到浏览器对象this.UIMAP...之后我找不到浏览器参数...
    • 我猜它的名字类似于 UIBlankPageWindowsInteWindow 并且它应该是 BrowserWindow 类型或者它会是 public UIBlankPageWindowsInteWindow UIBlankPageWindowsInteWindow
    猜你喜欢
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 2015-02-09
    • 2013-03-22
    • 2018-12-01
    相关资源
    最近更新 更多