Automated Testing for Oracle APEX Web Application
I'm currently working on a new web application and it's being developed开发者_开发问答 using Oracle APEX. It's basically a ten page wizard-style web form that gets filled out and submitted. In nearly all cases, only three or four of these pages will be used and the other exist to present special-case information to the user.
Anyway... I'm currently writing a test plan to ensure all the validation and processes are working as expected and I would like to try automating this testing if at all possible.
Does anyone know any good automated testing tools (preferable open source) that I can put to use for this purpose? Also, as it might be relevant, I'm limited to Java and/or APEX for tailoring these tools to meet my testing needs.
Selenium - http://seleniumhq.org/
Cucumber with headless driver such as capybara-webkit. Here you can find how to do it for non rails apps like APEX http://github.com/pshapoval/cucumber-norails
Selenium web driver and RSPEC if you want something straightward. I use it in a legacy classic ASP application and used it with Oracle Apex as well. Best to use ruby rather than the Firefox Selenium IDR.
Follow the below steps Tested with ruby 2.0.0p481
Installed the following gems
childprocess-0.5.3.gem diff-lcs-1.2.5.gem ffi-1.0.11.gem ffi-1.0.11-java.gem multi_json-1.10.1.gem rspec-3.0.0.gem rspec-core-3.0.4.gem rspec-expectations-3.0.4.gem rspec-mocks-3.0.4.gem rspec-support-3.0.4.gem rubyzip-1.1.6.gem selenium-webdriver-2.42.0.gem
To install run
gem install selenium-webdriver --local
You will be asked to install dependencies..follow instructions.
To run tests rspec RecordAdminTests.rb
You will need selenium server running java -jar selenium-server-standalone-2.42.2.jar
require 'rubygems' require "selenium-webdriver" require "rspec"
describe "Admin ABC" do
before(:each) do @vcntPg = 20 end
before(:all) do @driver = Selenium::WebDriver.for :firefox @wait = Selenium::WebDriver::Wait.new(:timeout => 15) @driver.navigate.to "whateverurl" end
after(:all) do @driver.quit end describe "Admin Project/User/Events" do it "Should Edit CDE" do
@wait.until { @driver.find_element(:css ,"a[href*='Home.asp?GroupId=2']") }
end
end
JMeter can also be used, particularly for load testing. Chris Muir has a good breakdown here http://one-size-doesnt-fit-all.blogspot.com.au/2010/05/configuring-apache-jmeter-for-apex.html
You could use Cypress, which has an easy learning curve and interactive test runner right out of the box. This is my goto tool for automated browser testing now.
https://www.cypress.io
精彩评论