ruby - ocra 未初始化常量 CommonElement (NameError)
问题描述
require 'selenium-webdriver'
require 'page-object'
class SubjectSearchPage < CommonElement
include PageObject
text_field(:ssnField, :id => "SSN")
button(:searchBtn, :css => 'button[data-test-id="20180820140732083632904"]')
h2(:resultsHeaderTitle, :css => 'div[data-test-id="201808231334560745670_header"] h2.header-title')
elements(:resultRows, :css => '#bodyTbl_right > tbody > tr')
span(:result, :css => 'span[data-test-id="2016072109335505834280"]')
end
require 'selenium-webdriver'
require 'page-object'
class CommonElement
include PageObject
h2(:headerTitle, :css => 'h2')
element(:caseAppLabel, :css => '.content-item.content-label.item-2.remove-top-spacing.remove-bottom-spacing.flex.flex-row.application_name_dataLabelWrite.flex-grow.dataLabelWrite.application_name_dataLabelWrite')
link(:casesLeftMenu, :css => '.menu-item-anchor.menu-item-expand')
link(:page_title, :css => '.Application_name')
link(:footer_nav, :css => '.Footer_nav')
link(:orgPageTitle, :css => '.content-item.content-label.item-2.flex.flex-row.heading_1_dataLabelWrite.dataLabelWrite.heading_1_dataLabelWrite')
link(:searchField, :css => '#pySearchText')
#Left Nav
link(:manageSubjectsLink, :css => "li[title='Manage Subjects'] a")
link(:manageOrgLink, :css => "li[title='Manage Org'] a") #dev version
# link(:settingsLink, :css => "li[title='Settings'] a")
link(:configMgmtLink, :css => "li[title='Config Management'] a")
link(:systemSettingsLink, :css => "li[title='System Settings'] a")
#Modal
span(:modalTitle, :id =>"modaldialog_hd_title")
end
尝试使用 OCRA 转换其抛出错误时,我已经显示了这两个类。有什么帮助吗?
c:/Users/seshaddri/git/pega-functional-tests/selenium-ruby/pages/subject_mgmt/subject_search_page.rb:4:in `<top (required)>': uninitialized constant CommonElement (NameError) from C:/Bitnami/rubystack-2.3.8-1/ruby/lib/ruby/gems/2.3.0/gems/ocra-1.3.10/bin/ocra:1211:in `load' from C:/Bitnami/rubystack-2.3.8-1/ruby/lib/ruby/gems/2.3.0/gems/ocra-1.3.10/bin/ocra:1211:in `<top (required)>' from C:/Bitnami/rubystack-2.3.8-1/ruby/bin/ocra:23:in `load' from C:/Bitnami/rubystack-2.3.8-1/ruby/bin/ocra:23:in `<main>'
解决方案
你得到的错误说明了一切:
未初始化的常量 CommonElement (NameError)
这意味着CommonElement
尚未定义。在定义继承之前尝试要求它:
require 'selenium-webdriver'
require 'page-object'
require_relative 'common_element'
# ^ new assuming CommonElement is present in ./common_element.rb
class SubjectSearchPage < CommonElement
推荐阅读
- dart - 如何检查 Dart 中是否存在具有给定 pid 的进程?
- python - 在python中替换双括号之间的单词
- svelte - 是否可以在 svelte 3 中创建自定义生命周期?
- python - 散点图 Python Pandas
- html - 文本旁边的位置图标
- docker - 如何使入口点运行启动服务脚本而不退出docker-compose中的容器?
- laravel - Laravel 在 config/app.php 正确代码中设置语言环境
- twitter-bootstrap - 调整大小问题:带有 centerPadding 的光滑滑块,但滑动它是一个引导容器
- sql - 根据 SQL Select 语句返回的结果更新数据库列
- r - 如何在R中找到时间序列的平均月年化增长率?