Git Product home page Git Product logo

autogeneral / iridiumapplicationtesting Goto Github PK

View Code? Open in Web Editor NEW
20.0 15.0 13.0 1.12 GB

A&G Web Application Testing Suite

Home Page: https://www.gitbook.com/book/autogeneral/iridiumapplicationtesting-gettingstartedguide/details

License: MIT License

Shell 0.19% Java 81.47% Perl 0.50% JavaScript 4.37% XSLT 3.09% Gherkin 10.18% PowerShell 0.19%
testing e2e cucumber-tests iridium scenario e2e-tests selenium

iridiumapplicationtesting's Introduction

Iridium Application Testing Suite

BrowserStack

Browserstack

Thanks to Browserstack for their support of this project.

Important Announcements

Java Web Start has been depreciated, and therefor the JAR file that was launched by the JNLP files will no longer be updated. Please launch the JAR file directly.

The location of the JAR file that is referenced by the Web Start JNLP files has changed recently. It used to be https://s3-ap-southeast-2.amazonaws.com/ag-iridium/, so your JNLP files used to look like this:

<?xml version="1.0" encoding="UTF-8"?>  
<jnlp spec="1.0+" codebase="https://s3-ap-southeast-2.amazonaws.com/ag-iridium/">  
    ...  
</jnlp>

The new file location is https://s3.amazonaws.com/iridium-release, so your JNLP files should look like this:

<?xml version="1.0" encoding="UTF-8"?>  
<jnlp spec="1.0+" codebase="https://s3.amazonaws.com/iridium-release">  
    ...  
</jnlp>

Files from https://s3-ap-southeast-2.amazonaws.com/ag-iridium/won't be updated, and the certificate used to sign the JAR file has expired, so you will most likely receive a warning if you do not update the location.

Chat

Chat

Build Status

Build Status

Dependency Status

codecov

Documentation

See the documentation for more details.

Training

A training package has been made available on Udemy.

Downloads

Download the latest version from here

Find past releases here

Articles

iridiumapplicationtesting's People

Contributors

dhasuking avatar idooo avatar idooo-test avatar maraisr avatar mcasperson avatar nesvand avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iridiumapplicationtesting's Issues

Update Published Maven Artifact

At present, the most recent version available via maven.org is 1.0.48. It would be very useful if a more recent version could be made available.

getText() returns empty when using the step to verify the page contains certain text (BrowserStack Edge)

Used the step to verify that the page contains the certain text but failed when testing in BrowserStack Edge. The step works fine in Firefox, Chrome, and Safari at BrowserStack.

There is no available env for me to test further in local Edge browser and MicrosoftWebDriver.

Expectation:
Found the text on the page.

Actual:
getText() in Edge webdriver returns empty value.

Tested in BrowserStack
Window: 10
browserstack.selenium_version: 3.4.0 or 3.0.1
Edge: 14
Iridium Version: 1.0.36

Test Report:
@quote @capture-postcode Scenario: Capture Postcode
CQS-181: P1, P2
Given I verify that the page contains the text "What is the address where the vehicle is kept regularly?"
au.com.agic.apptesting.exception.ValidationException: Could not find the text "What is the address where the vehicle is kept regularly?" on the page
at au.com.agic.apptesting.steps.ValidationStepDefinitions.verifyPageContent(ValidationStepDefinitions.java:350)
at ?.Given I verify that the page contains the text "What is the address where the vehicle is kept regularly?"(8424204347189670123car.feature:155)

Log:
No further details comparing to test report.

gettext

Got an exception when set system property startInternalProxy to zap in jnlp file

Please find the log and exception details below.

And meanwhile, Iridium (1.0.36) could be launched and run successfully via java command line with system property "-DstartInternalProxy=zap".

exception

`ProxyException: An exception was thrown while attempting to configure the proxies
au.com.agic.apptesting.exception.ProxyException: An exception was thrown while attempting to configure the proxies
at au.com.agic.apptesting.utils.impl.ProxyManagerImpl.configureProxies(ProxyManagerImpl.java:91)
at au.com.agic.apptesting.TestRunner.run(TestRunner.java:113)
at au.com.agic.apptesting.Main.run(Main.java:87)
at au.com.agic.apptesting.Main.main(Main.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: au.com.agic.apptesting.exception.ProxyException: java.io.IOException: Could not process the URI jar:https://s3.amazonaws.com/iridium-release/IridiumApplicationTesting.jar!/zap
at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.initProxy(ZapProxyUtilsImpl.java:71)
at au.com.agic.apptesting.utils.impl.ProxyManagerImpl.configureProxies(ProxyManagerImpl.java:54)
... 12 more
Caused by: java.io.IOException: Could not process the URI jar:https://s3.amazonaws.com/iridium-release/IridiumApplicationTesting.jar!/zap
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$getPath$5(FileSystemUtilsImpl.java:176)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$30/2033519108.apply(Unknown Source)
at javaslang.control.Try.getOrElseThrow(Try.java:473)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.getPath(FileSystemUtilsImpl.java:176)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.copyFromJar(FileSystemUtilsImpl.java:107)
at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.startZAPProxy(ZapProxyUtilsImpl.java:128)
at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.initProxy(ZapProxyUtilsImpl.java:65)
... 13 more
Caused by: java.lang.IllegalArgumentException: Missing scheme
at java.nio.file.Paths.get(Unknown Source)
at com.sun.nio.zipfs.ZipFileSystemProvider.uriToPath(ZipFileSystemProvider.java:85)
at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:107)
at java.nio.file.FileSystems.newFileSystem(Unknown Source)
at java.nio.file.FileSystems.newFileSystem(Unknown Source)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$null$3(FileSystemUtilsImpl.java:172)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$29/1353717832.get(Unknown Source)
at javaslang.control.Try.of(Try.java:37)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$getPath$4(FileSystemUtilsImpl.java:146)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$28/578680862.get(Unknown Source)
at javaslang.control.Try.orElse(Try.java:451)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.getPath(FileSystemUtilsImpl.java:146)
... 16 more

ProxyException: java.io.IOException: Could not process the URI jar:https://s3.amazonaws.com/iridium-release/IridiumApplicationTesting.jar!/zap
au.com.agic.apptesting.exception.ProxyException: java.io.IOException: Could not process the URI jar:https://s3.amazonaws.com/iridium-release/IridiumApplicationTesting.jar!/zap
at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.initProxy(ZapProxyUtilsImpl.java:71)
at au.com.agic.apptesting.utils.impl.ProxyManagerImpl.configureProxies(ProxyManagerImpl.java:54)
at au.com.agic.apptesting.TestRunner.run(TestRunner.java:113)
at au.com.agic.apptesting.Main.run(Main.java:87)
at au.com.agic.apptesting.Main.main(Main.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Could not process the URI jar:https://s3.amazonaws.com/iridium-release/IridiumApplicationTesting.jar!/zap
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$getPath$5(FileSystemUtilsImpl.java:176)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$30/2033519108.apply(Unknown Source)
at javaslang.control.Try.getOrElseThrow(Try.java:473)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.getPath(FileSystemUtilsImpl.java:176)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.copyFromJar(FileSystemUtilsImpl.java:107)
at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.startZAPProxy(ZapProxyUtilsImpl.java:128)
at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.initProxy(ZapProxyUtilsImpl.java:65)
... 13 more
Caused by: java.lang.IllegalArgumentException: Missing scheme
at java.nio.file.Paths.get(Unknown Source)
at com.sun.nio.zipfs.ZipFileSystemProvider.uriToPath(ZipFileSystemProvider.java:85)
at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:107)
at java.nio.file.FileSystems.newFileSystem(Unknown Source)
at java.nio.file.FileSystems.newFileSystem(Unknown Source)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$null$3(FileSystemUtilsImpl.java:172)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$29/1353717832.get(Unknown Source)
at javaslang.control.Try.of(Try.java:37)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$getPath$4(FileSystemUtilsImpl.java:146)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$28/578680862.get(Unknown Source)
at javaslang.control.Try.orElse(Try.java:451)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.getPath(FileSystemUtilsImpl.java:146)
... 16 more

IOException: Could not process the URI jar:https://s3.amazonaws.com/iridium-release/IridiumApplicationTesting.jar!/zap
java.io.IOException: Could not process the URI jar:https://s3.amazonaws.com/iridium-release/IridiumApplicationTesting.jar!/zap
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$getPath$5(FileSystemUtilsImpl.java:176)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$30/2033519108.apply(Unknown Source)
at javaslang.control.Try.getOrElseThrow(Try.java:473)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.getPath(FileSystemUtilsImpl.java:176)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.copyFromJar(FileSystemUtilsImpl.java:107)
at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.startZAPProxy(ZapProxyUtilsImpl.java:128)
at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.initProxy(ZapProxyUtilsImpl.java:65)
at au.com.agic.apptesting.utils.impl.ProxyManagerImpl.configureProxies(ProxyManagerImpl.java:54)
at au.com.agic.apptesting.TestRunner.run(TestRunner.java:113)
at au.com.agic.apptesting.Main.run(Main.java:87)
at au.com.agic.apptesting.Main.main(Main.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Missing scheme
at java.nio.file.Paths.get(Unknown Source)
at com.sun.nio.zipfs.ZipFileSystemProvider.uriToPath(ZipFileSystemProvider.java:85)
at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:107)
at java.nio.file.FileSystems.newFileSystem(Unknown Source)
at java.nio.file.FileSystems.newFileSystem(Unknown Source)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$null$3(FileSystemUtilsImpl.java:172)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$29/1353717832.get(Unknown Source)
at javaslang.control.Try.of(Try.java:37)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$getPath$4(FileSystemUtilsImpl.java:146)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$28/578680862.get(Unknown Source)
at javaslang.control.Try.orElse(Try.java:451)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.getPath(FileSystemUtilsImpl.java:146)
... 16 more

IllegalArgumentException: Missing scheme
java.lang.IllegalArgumentException: Missing scheme
at java.nio.file.Paths.get(Unknown Source)
at com.sun.nio.zipfs.ZipFileSystemProvider.uriToPath(ZipFileSystemProvider.java:85)
at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:107)
at java.nio.file.FileSystems.newFileSystem(Unknown Source)
at java.nio.file.FileSystems.newFileSystem(Unknown Source)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$null$3(FileSystemUtilsImpl.java:172)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$29/1353717832.get(Unknown Source)
at javaslang.control.Try.of(Try.java:37)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$getPath$4(FileSystemUtilsImpl.java:146)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$28/578680862.get(Unknown Source)
at javaslang.control.Try.orElse(Try.java:451)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.getPath(FileSystemUtilsImpl.java:146)
at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.copyFromJar(FileSystemUtilsImpl.java:107)
at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.startZAPProxy(ZapProxyUtilsImpl.java:128)
at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.initProxy(ZapProxyUtilsImpl.java:65)
at au.com.agic.apptesting.utils.impl.ProxyManagerImpl.configureProxies(ProxyManagerImpl.java:54)
at au.com.agic.apptesting.TestRunner.run(TestRunner.java:113)
at au.com.agic.apptesting.Main.run(Main.java:87)
at au.com.agic.apptesting.Main.main(Main.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

`

log

552 javawsApplicationMain INFO - Iridium Build Timestamp: 20170610005135 553 javawsApplicationMain INFO - Downloading JAR file locally for ZAP and Cucumber to use 1115 javawsApplicationMain INFO - Saving driver file geckodriver.exe to C:\Users\dwang\AppData\Local\Temp\driver6004168989255356692geckodriver.exe 1175 javawsApplicationMain INFO - Saving driver file chrome.exe to C:\Users\dwang\AppData\Local\Temp\driver5845359962639380030chrome.exe 1254 javawsApplicationMain INFO - Saving driver file opera.exe to C:\Users\dwang\AppData\Local\Temp\driver329912745175791151opera.exe 1256 javawsApplicationMain INFO - Saving driver file MicrosoftWebDriver.exe to C:\Users\dwang\AppData\Local\Temp\driver7750304528006184965MicrosoftWebDriver.exe 1275 javawsApplicationMain INFO - Saving driver file ie.exe to C:\Users\dwang\AppData\Local\Temp\driver1414850944704392591ie.exe 1404 javawsApplicationMain INFO - Saving driver file phantomjs.exe to C:\Users\dwang\AppData\Local\Temp\driver703234210317445708phantomjs.exe 1405 javawsApplicationMain INFO - WEBAPPTESTER-INFO-0004: System property webdriver.chrome.driver: C:\Users\dwang\AppData\Local\Temp\driver5845359962639380030chrome.exe 1405 javawsApplicationMain INFO - WEBAPPTESTER-INFO-0004: System property webdriver.opera.driver: C:\Users\dwang\AppData\Local\Temp\driver329912745175791151opera.exe 1405 javawsApplicationMain INFO - WEBAPPTESTER-INFO-0004: System property webdriver.ie.driver: C:\Users\dwang\AppData\Local\Temp\driver1414850944704392591ie.exe 1405 javawsApplicationMain INFO - WEBAPPTESTER-INFO-0004: System property phantomjs.binary.path: C:\Users\dwang\AppData\Local\Temp\driver703234210317445708phantomjs.exe 1405 javawsApplicationMain INFO - WEBAPPTESTER-INFO-0004: System property webdriver.gecko.driver: C:\Users\dwang\AppData\Local\Temp\driver6004168989255356692geckodriver.exe 1405 javawsApplicationMain INFO - WEBAPPTESTER-INFO-0004: System property webdriver.edge.driver: C:\Users\dwang\AppData\Local\Temp\driver7750304528006184965MicrosoftWebDriver.exe 1503 javawsApplicationMain ERROR - WEBAPPTESTER-BUG-0007: An exception was raised while attempting to run the Cucumber test scripts au.com.agic.apptesting.exception.ProxyException: An exception was thrown while attempting to configure the proxies at au.com.agic.apptesting.utils.impl.ProxyManagerImpl.configureProxies(ProxyManagerImpl.java:91) at au.com.agic.apptesting.TestRunner.run(TestRunner.java:113) at au.com.agic.apptesting.Main.run(Main.java:87) at au.com.agic.apptesting.Main.main(Main.java:39) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.javaws.Launcher.executeApplication(Unknown Source) at com.sun.javaws.Launcher.executeMainClass(Unknown Source) at com.sun.javaws.Launcher.doLaunchApp(Unknown Source) at com.sun.javaws.Launcher.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: au.com.agic.apptesting.exception.ProxyException: java.io.IOException: Could not process the URI jar:https://s3.amazonaws.com/iridium-release/IridiumApplicationTesting.jar!/zap at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.initProxy(ZapProxyUtilsImpl.java:71) at au.com.agic.apptesting.utils.impl.ProxyManagerImpl.configureProxies(ProxyManagerImpl.java:54) ... 12 common frames omitted Caused by: java.io.IOException: Could not process the URI jar:https://s3.amazonaws.com/iridium-release/IridiumApplicationTesting.jar!/zap at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$getPath$5(FileSystemUtilsImpl.java:176) at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$30/2033519108.apply(Unknown Source) at javaslang.control.Try.getOrElseThrow(Try.java:473) at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.getPath(FileSystemUtilsImpl.java:176) at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.copyFromJar(FileSystemUtilsImpl.java:107) at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.startZAPProxy(ZapProxyUtilsImpl.java:128) at au.com.agic.apptesting.utils.impl.ZapProxyUtilsImpl.initProxy(ZapProxyUtilsImpl.java:65) ... 13 common frames omitted Caused by: java.lang.IllegalArgumentException: Missing scheme at java.nio.file.Paths.get(Unknown Source) at com.sun.nio.zipfs.ZipFileSystemProvider.uriToPath(ZipFileSystemProvider.java:85) at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:107) at java.nio.file.FileSystems.newFileSystem(Unknown Source) at java.nio.file.FileSystems.newFileSystem(Unknown Source) at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$null$3(FileSystemUtilsImpl.java:172) at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$29/1353717832.get(Unknown Source) at javaslang.control.Try.of(Try.java:37) at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.lambda$getPath$4(FileSystemUtilsImpl.java:146) at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl$$Lambda$28/578680862.get(Unknown Source) at javaslang.control.Try.orElse(Try.java:451) at au.com.agic.apptesting.utils.impl.FileSystemUtilsImpl.getPath(FileSystemUtilsImpl.java:146) ... 16 common frames omitted

Running on linux/docker?

Very nice project idea. Are there any instructions to run it on linux? I'm no java expert and I'm not seeing a way to do it :/.

I'd be willing to contribute a Dockerfile if I manage to run it :)

Thanks :)

Extend Iridium to support API testing

Iridium has a fairly comprehensive dialect for testing web applications, and there is some discussion around the possibility of extending this to support API testing.

To support API testing, we will need the following steps:

  • Requesting HTTP endpoints with the various HTTP verbs (GET, PUT, POST, DELETE, maybe others), dealing with headers
  • Building request bodies with templates that can access alias variables (Freemarker could easily access the alias table as a model)
  • Checks for response codes
  • Checks for response headers
  • Checks against the XML or JSON responses (maybe just schema validation?)
  • Extraction of XML or JSON values into aliases (XPath and JSONPath)
  • Authenticated requests (deal with schemes like OAuth and AWS request signing?)
  • Deal with SSL certs, as a lot of APIs being tested will have self signed certs

Abadonware?

Hello team - has this tech been abandoned? @mcasperson are you still looking after things? Hasn't had commits since March. AG you guys still using it?

Load datasets from CSV files

Datasets are currently defined in XML files. We need to be able to load the same information from a CSV file.

Enhancement - Add steps to adjust style percentage

Need a new step which could adjust html style percentage for an element. Please refer to the screenshot. Thanks a lot.

For example:
Before:
<a class="ui-slider-handle ui-state-default ui-corner-all" href="#" style="left: 0%;"></a>
After:
<a class="ui-slider-handle ui-state-default ui-corner-all" href="#" style="left: 45%;"></a>

style_percentage

Update chrome webdriver

Will it be possible to update the chrome web driver version to the latest, I currently do not have push access so I am unable to create a branch and update it myself.

Thanks

Adding Functionality to Allow Override of Default Keystroke Delay

At the moment, keystroke delay is default to '300' ms for populate steps. Users can override the value in each step individually but not at a global level. Would be good to let users declare a different keystroke delay like, And I set the default keystroke delay to "100" milliseconds so that users have an option to speed up the test easily

Firefox cert error

Firefox fails with
screen shot 2017-01-10 at 5 30 34 pm

Is there a work around for using a profile or using a browser capability to accept all certs?

Unable to take screenshots manually

When using the I take a screenshot step, the screenshot isn't take unless the system property enableScenarioScreenshots is set to true which automatically takes screenshots at the end of each scenario

Chrome WebDriver does not shutdown correctly (Linux)

When I use the parameter "-DtestDestination=CHROMEHEADLESS", it runs the test correctly. The problem is that resources are locked by the driver (memory 100%). If you run this parameter multiple times on the same server, it will eventually crash the server and become unresponsive.

The current work around is to have a cron job that deletes the files contained in '/tmp' directory (Due to using default driver).

When populating elements with input masks the first character is missing

Date Of Birth has an input mask to format it as dd/mm/yyyy, when populating it with 01011980 (which should be formatted to 01/01/1980) the first character is missing (so it is entered as 10/11/980)

<setting name="DateOfBirthValue">01011980</setting>
And I populate the element found by alias "DateOfBirth" with alias "DateOfBirthValue"

Note: focusing the field first fixes the issue, but should not be necessary

focus 'if it exists' throws exception when it doesn't exist

au.com.agic.apptesting.exception.WebElementException: All attempts to find element failed
	at au.com.agic.apptesting.utils.impl.SimpleWebElementInteractionImpl.getPresenceElementFoundBy(SimpleWebElementInteractionImpl.java:261)
	at au.com.agic.apptesting.utils.impl.SimpleWebElementInteractionImpl.getPresenceElementFoundBy(SimpleWebElementInteractionImpl.java:223)
	at au.com.agic.apptesting.steps.FocusStepDefinitions.focusElementStep(FocusStepDefinitions.java:60)
	at ✽.And I focus on the element found by alias "BestContactNumber" if it exists(webapptester4914400923408802056.feature:125)

Enhancement: remove 'Feature:' line from files being imported

When importing fragments using #IMPORT: if you remove the Feature line you can then create one feature file that contains a superset of features.

e.g.

  1. logic.path.one.feature (contains tests for one path through the app)
  2. logic.path.two.feature (contains tests for a different path through the app)
  3. logic.feature (imports logic.path.one.feature and logic.path.two.feature to test both paths)

Enhancement - Add steps to simulate actions to sliders

Tried several website which are in jQuery, AngularJS, ReactJS, KnockoutJS or html range type input and found that clicking on the certain position of the slider besides "drag and drop" slider handle can move slider handle commonly also. Hope this information is useful.

Add more verify steps

Most of our tests currently just keep running without any assertions, only failing if the state of the application isn't as expected at the following step. This isn't really what a "test" should be doing.
We need to describe expectations for the state of the application after each step to ensure we are getting the desired outcome as and when each modification is performed (i.e. when populating a dropdown, expect the underlying value to be set, the validation to of modified the interface or a modal to popup, etc., etc.).
This will provide much better output when testing and provide greater certainty that the application is working as expected.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.