Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用selenium自动化MSD365的问题_Selenium_Testing_Automation_Microsoft Dynamics_Dynamics 365 - Fatal编程技术网

使用selenium自动化MSD365的问题

使用selenium自动化MSD365的问题,selenium,testing,automation,microsoft-dynamics,dynamics-365,Selenium,Testing,Automation,Microsoft Dynamics,Dynamics 365,我尝试使用Selenium自动化Dynamics365,但遇到了很多问题,如 使用“Id”作为元素定位器,但它在不同实例上不断更改 元素定位器“Name”在所有实例中都不起作用 Xpath附带了“id”,因此它也是动态的 由于所有这些原因,我无法在IE中运行代码,但该代码在Chrome中运行 有人能帮忙解决这个问题吗?我建议您考虑使用。它是Github MS的一个C#项目,构建在Selenium之上,是一个框架,让您能够专注于编写有意义的测试,而不是学习Selenium和D365中复杂的DOM。

我尝试使用Selenium自动化Dynamics365,但遇到了很多问题,如

  • 使用“Id”作为元素定位器,但它在不同实例上不断更改
  • 元素定位器“Name”在所有实例中都不起作用
  • Xpath附带了“id”,因此它也是动态的
  • 由于所有这些原因,我无法在IE中运行代码,但该代码在Chrome中运行


    有人能帮忙解决这个问题吗?

    我建议您考虑使用。它是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");
    
    xrmBrowser.LoginPage.Login(\uxrmuri,\uusername,\upassword);
    xrmBrowser.GuidedHelp.CloseGuidedHelp();
    xrmBrowser.ThinkTime(500);
    xrmBrowser.Navigation.OpenSubrea(“销售”、“联系人”);
    xrmBrowser.ThinkTime(1000);
    xrmBrowser.Grid.SwitchView(“活动触点”);
    xrmBrowser.ThinkTime(2000);
    xrmBrowser.CommandBar.ClickCommand(“新建”);
    xrmBrowser.ThinkTime(5000);
    变量字段=新列表
    {
    新字段(){Id=“firstname”,Value=“Test”},
    新建字段(){Id=“lastname”,Value=“Contact”}
    };
    xrmBrowser.Entity.SetValue(新的CompositeControl(){Id=“fullname”,Fields=Fields});
    xrmBrowser.Entity.SetValue(“emailaddress1”test@contoso.com");
    xrmBrowser.Entity.SetValue(“手机”、“555-555-5555”);
    xrmBrowser.Entity.SetValue(“生日”,DateTime.Parse(“1980年11月1日”);
    xrmBrowser.Entity.SetValue(新选项开始{Name=“preferredcontactmethodcode”,Value=“Email”});
    xrmBrowser.CommandBar.ClickCommand(“保存”);
    
    你能给出一些html代码示例吗?driver.findElement(By.id(“purchtablelistpageassignedtome_3_SystemDefinedViewEditButton_label”)。单击();“purchtablelistpageassignedtome_3_SystemDefinedViewEditButton_标签”这是一个动态id,在不同的实例中不断变化