gpt4 book ai didi

selenium - 使用 selenium 自动化 MSD365 的问题

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

我尝试使用 Selenium 自动化 Dynamics365,但面临很多问题,例如

  1. 使用“Id”作为元素定位器,但它会在不同的实例中不断变化
  2. 元素定位器“名称”并非在所有情况下都有效
  3. Xpath 带有附加的'id',所以它也是动态的

由于所有这些,我无法在 IE 中运行代码,但代码在 Chrome 中运行。

有人可以帮助解决这个问题吗?

最佳答案

我建议您考虑使用 EasyRepro .它是 Github 中 MS 的一个 C# 项目,它构建在 Selenium 之上,是一个框架,可让您专注于编写有意义的测试,而不是学习 Selenium 和 D365 中复杂的 DOM。它允许您通过模式名称引用表单对象。当您下载该项目时,它加载了 的优秀示例,您可以运行这些示例来测试所有不同的形式,并且您可以修改它们以满足您的需要。

例如,您可以使用如下简单的代码来测试创建联系人:

            xrmBrowser.LoginPage.Login(_xrmUri, _username, _password);
xrmBrowser.GuidedHelp.CloseGuidedHelp();

xrmBrowser.ThinkTime(500);
xrmBrowser.Navigation.OpenSubArea("Sales", "Contacts");

xrmBrowser.ThinkTime(1000);
xrmBrowser.Grid.SwitchView("Active Contacts");

xrmBrowser.ThinkTime(2000);
xrmBrowser.CommandBar.ClickCommand("New");

xrmBrowser.ThinkTime(5000);

var fields = new List<Field>
{
new Field() {Id = "firstname", Value = "Test"},
new Field() {Id = "lastname", Value = "Contact"}
};
xrmBrowser.Entity.SetValue(new CompositeControl() { Id = "fullname", Fields = fields});
xrmBrowser.Entity.SetValue("emailaddress1", "test@contoso.com");
xrmBrowser.Entity.SetValue("mobilephone", "555-555-5555");
xrmBrowser.Entity.SetValue("birthdate", DateTime.Parse("11/1/1980"));
xrmBrowser.Entity.SetValue(new OptionSet { Name = "preferredcontactmethodcode", Value = "Email"});

xrmBrowser.CommandBar.ClickCommand("Save");

关于selenium - 使用 selenium 自动化 MSD365 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53092918/

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