You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Acumatica Modern UI自动化测试:无法定位Payment Method ID元素咨询

Acumatica Modern UI自动化测试:定位Payment Method ID字段的解决方案
  • 重新生成适配Modern UI的Wrapper
    默认ClassGenerator.exe生成的是Classic UI兼容的定位器,你需要修改ClassGenerator.exe.config配置文件,指定生成Modern UI适配的Wrapper:

    1. 打开ClassGenerator.exe.config,找到<appSettings>节点
    2. 添加配置项:<add key="UIMode" value="Modern" />
    3. 重新运行ClassGenerator.exe生成新的Wrapper类
      新生成的代码会采用Modern UI特有的元素定位逻辑,不再依赖Classic UI那种固定格式的WebForms ID(如ctl00_phF_form_edPaymentMethodID)。
  • 手动调整元素定位器(无需重新生成Wrapper)
    若不想重新生成Wrapper,可直接修改现有代码的定位逻辑,利用Modern UI元素的专属属性定位:

    1. 用浏览器开发者工具(F12)打开Modern UI目标页面,找到Payment Method ID字段对应的元素
    2. 查看元素的data-field属性(Modern UI的Acumatica元素普遍带有该属性,值为字段内部名称,比如PaymentMethodID)
    3. 将原有的ID定位替换为CSS选择器定位,示例代码:
      // 原Classic UI定位方式
      driver.FindElement(By.Id("ctl00_phF_form_edPaymentMethodID"));
      // 修改为Modern UI兼容的定位方式
      driver.FindElement(By.CssSelector("[data-field='PaymentMethodID']"));
      

    这种方式更稳定,因为Modern UI的元素ID是动态生成的,不像Classic UI那样固定。

  • 验证字段的实际绑定
    确认Modern UI页面中Payment Method ID字段的内部标识是否与Classic一致:部分场景下Modern UI会微调字段标识,通过开发者工具查看元素的data-field或data-container属性,确保定位的是正确字段。

内容的提问来源于stack exchange,提问作者vachmir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 00:42:28