GithubHelp home page GithubHelp logo

nexiality / nexial-core Goto Github PK

View Code? Open in Web Editor NEW
41.0 13.0 9.0 317.38 MB

test automation for everyone - test automation platform with support for web (selenium), desktop, database, api and much more. Coding not required ;-)

Home Page: https://nexiality.github.io/documentation

License: Apache License 2.0

Batchfile 0.45% Shell 0.46% Java 42.99% Kotlin 13.66% HTML 1.02% JavaScript 41.09% CSS 0.33%
test-automation selenium winium automation integration-testing functional-testing regression-testing testing-framework test-data test-platform

nexial-core's People

Contributors

akki24 avatar akshay2409 avatar bbacker avatar dhana555std avatar faunnie avatar krishnageddam avatar mikeliu-cvet avatar mikeliucc avatar shaguftaa avatar themanojshukla avatar vnagsrao avatar vp3008 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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

nexial-core's Issues

project.properties file data not being read

console logs:

2018-04-07 14:31:08,694|I|main|[20180407_143108] [c:\projects\TaxCaddyUI\artifact\script\LoginTest.xlsx] resolve RUN ID as 20180407_143108
2018-04-07 14:31:08,694|I|main|[20180407_143108] [c:\projects\TaxCaddyUI\artifact\script\LoginTest.xlsx] new thread started
2018-04-07 14:31:09,855|I|Thread-0|[20180407_143108] executing c:\projects\TaxCaddyUI\artifact\script\LoginTest.xlsx. [1] total 1
2018-04-07 14:31:09,855|I|Thread-0|[20180407_143108] create directory c:\projects\TaxCaddyUI\output\20180407_143108\captures
2018-04-07 14:31:09,855|I|Thread-0|[20180407_143108] create directory c:\projects\TaxCaddyUI\output\20180407_143108\logs
2018-04-07 14:31:10,492|I|Thread-0|[20180407_143108] merging test data to tmp file C:\Users\fkakar\AppData\Local\Temp\eZHFC\LoginTest.xlsx
2018-04-07 14:31:10,822|I|Thread-0|[20180407_143108] test script and test data merged to c:\projects\TaxCaddyUI\output\20180407_143108\Login.001,LoginTest.20180407_143110.001.xlsx
2018-04-07 14:31:10,822|I|Thread-0|[20180407_143108] copying tmp file to output file c:\projects\TaxCaddyUI\output\20180407_143108\Login.001,LoginTest.20180407_143110.001.xlsx
2018-04-07 14:31:10,822|I|Thread-0|STARTS
2018-04-07 14:31:11,049|I|Thread-0|Login.001,LoginTest.20180407_143110.001 - executing iteration #1; Iteration #1 of 1
2018-04-07 14:31:11,049|I|Thread-0|Login.001,LoginTest.20180407_143110.001|Login - executing test scenario
2018-04-07 14:31:11,049|I|Thread-0|Login.001,LoginTest.20180407_143110.001|Login|Login Taxcaddy - executing test case
2018-04-07 14:31:11,655|I|Thread-0|Login.001,LoginTest.20180407_143110.001|Login|Login Taxcaddy|# 5|base.verbose(text) - executing verbose(text)(Hello Sureprep! It's now $(sysdate|now|yyyy-MM-dd HH:mm:ss.S))
2018-04-07 14:31:11,694|I|Thread-0|Login.001,LoginTest.20180407_143110.001|Login|Login Taxcaddy|# 5|base.verbose(text) - Hello Sureprep! It's now 2018-04-07 14:31:11.660
2018-04-07 14:31:11,694|I|Thread-0|Login.001,LoginTest.20180407_143110.001|Login|Login Taxcaddy|# 5|base.verbose(text) - PASS Hello Sureprep! It's now 2018-04-07 14:31:11.660
2018-04-07 14:31:12,294|I|Thread-0|Login.001,LoginTest.20180407_143110.001|Login|Login Taxcaddy|# 6|web.open(url) - executing open(url)(${qaurl})
2018-04-07 14:31:12,294|I|Thread-0|No valid instance of webdriver, initializing...
2018-04-07 14:31:12,294|I|Thread-0|init chrome
2018-04-07 14:31:14,542|I|Thread-0|browser initialization completed.
2018-04-07 14:31:14,578|I|Thread-0|Login.001,LoginTest.20180407_143110.001|Login|Login Taxcaddy|# 6|web.open(url) - setting browser stability wait time to 3000 ms
2018-04-07 14:31:14,578|E|Thread-0|invalid URL:
2018-04-07 14:31:14,578|I|Thread-0|Login.001,LoginTest.20180407_143110.001|Login|Login Taxcaddy|# 6|web.open(url) - FAIL invalid URL:
2018-04-07 14:31:14,578|I|Thread-0|Login.001,LoginTest.20180407_143110.001|Login|Login Taxcaddy|# 6|web.open(url) - test stopping due to failure on fail-fast command: web.open(url)

Request for JSON expression to ability to add data to JSON structure

Is your feature request related to a problem? Please describe.
I am needing to create a list of variables for verification and due to JSON being very understandable, have JSON being the structure used in the tests being written. The downside to this is that creating the JSON object requires manual Save / Append of text data in the proper structured format. This makes dynamically adding data difficult when it comes from multiple previous tests or a macro to be verified in test.

Describe the solution you'd like
Under JSON expression would like there to be a way to add new JSON Data to both new/existing objects and arrays.

Describe alternatives you've considered
Manual creation of the JSON data in a variable and separate variables for all elements being tested.

nexial.enableEmail unable to send mail - from latest nexial-core build

Please see logs. I am trying to use gmail smtp

Unable to send out notification email: Couldn't connect to host, port: localhost, 25; timeout -1
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2118)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)
at javax.mail.Service.connect(Service.java:366)
at javax.mail.Service.connect(Service.java:246)
at javax.mail.Service.connect(Service.java:195)
at org.nexial.commons.javamail.MailObjectSupport.newTransport(MailObjectSupport.java:179)
at org.nexial.commons.javamail.MailObjectSupport.createTransport(MailObjectSupport.java:110)
at org.nexial.core.reports.Mailer.sendResult(Mailer.java:61)
at org.nexial.core.reports.MailNotifier.notify(MailNotifier.java:81)
at org.nexial.core.Nexial.notifyCompletion(Nexial.java:859)
at org.nexial.core.Nexial.onExecutionComplete(Nexial.java:698)
at org.nexial.core.Nexial.execute(Nexial.java:634)
at org.nexial.core.Nexial.main(Nexial.java:212)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:331)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2084)
... 12 more
2018-05-03 22:22:11,476 >> Exiting Nexial...
2018-05-03 22:22:11,476 >> shutdown starts...
2018-05-03 22:22:12,206 >> shutdown ends...

Data overriding through plan is not working as expected

Subject of the issue

Data overriding through plan is not working as expected

Your environment Details

  • Nexial Version: nexial-core-v3.2_0872
  • Java(jdk) Version: jdk1.8.0_181
  • Operating System: Windows10
  • Browser Version (if applicable): Chrome 84.0.4147.105

Steps to reproduce

  • Step: Create Plan as below:
description test script test scenarios test data data sheets fail fast? wait? load test?
Run It1 FirstProj.xlsx runIterationToFile FirstProj.data.xlsx runIterationToFile no yes no
Run It2 FirstProj.xlsx runIterationToFile FirstProj.data.xlsx runIterationToFile,second_iteration no yes no

Where in step 2 - the datasheet second_iteration overrides the runIterationToFile datasheet.

Functionality :
open web url
search Nexial Automation
search Nexial Core

Data sheet will have two datasheets
Datasheet1 has below variables and values
nexial.scope.iteration=1
search_term - 2 values in column B and C (Nexial Automation, Nexial Core)
Datasheet2 has below variables and values
nexial.scope.fallbackToPrevious = true
nexial.scope.iteration=2

-Step3: Execute the plan

Expected behavior

In this case below execution is expected:
Step 1 - during execution of step1 from plan, nexial should first search the term "Nexial Automation"
Step 2 - during execution of step2 from plan, the nexial.scope.iteration variable value in runIterationToFile datasheet should be overwritten by the value in second_iteration datasheet and hence nexial should search the term "Nexial Core"

Actual behaviour

During execution only "Nexial Automation" term is getting searched twice, data is not overwritten

Attach Logs

nexial-20200730_131111.2020-07-30.log

Include datasheet name used on Summary sheet

When I re-use a script the thing that changes more often is the datasheet. Currently, the script tab-name (test scenario) alone is what is written to the test results Summary page. It would much easier to investigate the issue is the datasheet tab-name was also included on the test results Summary page.

Describe alternatives you've considered
The sequence to investigate a failure is to:

  1. Search the log for "fail".
  2. Open the Test Results Summary workbook associated with the failure and get the script tab-name (test scenario).
  3. Refer to the Test plan that is associated the script with a datasheet and find the correct entry in the plan to get the datasheet tab-name.
  4. Open the datasheet to the desired tab and begin the investigative work.

Additional context
request-adddatasheetname

Unable to run tests utilizing web browser - nexial version 2.9_0735+

Subject of the issue

Unable to run tests that utilize web browser. Have tried Firefox and Chrome which has failed.

Your environment Details

  • Nexial Version: 2.9_0735 / 2.9_0745 / 2.9_0746 / 2.9_0755
  • Java(jdk) Version: java version "1.8.0_191"
    Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
  • Operating System: Windows 10
  • Browser Version (if applicable): Firefox 72.0.2 / Chrome 80.0.3987.87

Steps to reproduce

Nexail Step utilized was: web open(url)

Expected behavior

URL is opened in web browser without issue

Actual behavior

Chrome
INFO: Detected dialect: W3C
14:36:43.030|browser initialization completed for 'chrome'
14:36:43.047 >> setting browser page load timeout to 10000 ms
14:36:45.793 >> current browser window handle:CDwindow-81D18F0C29D57F8D601021974B099BD0
14:36:45.893|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_143356.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - Executing request GET http://api.userstack.com/detect?access_key=5b71975a107de30d26f3878fa9adbb5e&ua=Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F80.0.3987.87+Safari%2F537.36 HTTP/1.1
14:36:46.007|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_143356.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - Saving response payload as raw bytes
14:36:46.017|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_143356.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - Executed request GET http://api.userstack.com/detect?access_key=5b71975a107de30d26f3878fa9adbb5e&ua=Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F80.0.3987.87+Safari%2F537.36 HTTP/1.1: HTTP/1.1 200 OK
14:36:46.019 >> Error when invoking UserStack: {"code":101,"type":"invalid_access_token"}

Chrome Headless
INFO: Detected dialect: W3C
13:09:10.651|browser initialization completed for 'chromeheadless'
13:09:10.667 >> setting browser page load timeout to 10000 ms
[1581109754.054][SEVERE]: Timed out receiving message from renderer: 0.100
[1581109754.163][SEVERE]: Timed out receiving message from renderer: 0.100
13:09:15.129 >> current browser window handle:CDwindow-CA17A628440A52AD140A1A621E89D262
13:09:15.206|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_130623.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - Executing request GET http://api.userstack.com/detect?access_key=278720a8776318f6bee49fe59c517381&ua=Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+HeadlessChrome%2F80.0.3987.87+Safari%2F537.36 HTTP/1.1
13:09:15.314|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_130623.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - Saving response payload as raw bytes
13:09:15.331|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_130623.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - Executed request GET http://api.userstack.com/detect?access_key=278720a8776318f6bee49fe59c517381&ua=Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+HeadlessChrome%2F80.0.3987.87+Safari%2F537.36 HTTP/1.1: HTTP/1.1 200 OK
13:09:15.341 >> Error when invoking UserStack: {"code":101,"type":"invalid_access_token"}

Firefox
13:42:33.545|No valid instance of webdriver, initializing...
13:42:33.545|init firefox
13:42:33.545|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_133949.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - Executing request GET https://api.github.com/repos/mozilla/geckodriver/releases/latest HTTP/1.1
13:42:34.015|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_133949.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - Saving response payload as raw bytes
13:42:34.015|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_133949.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - Executed request GET https://api.github.com/repos/mozilla/geckodriver/releases/latest HTTP/1.1: HTTP/1.1 401 Unauthorized
13:42:34.015 >> Error initializing browser 'firefox': Error when accessing https://api.github.com/repos/mozilla/geckodriver/releases/latest: Unauthorized
13:42:34.031 >> Check corresponding error log for details: C:\Projects\qa-automation_ips_Repository\RegressionTest\output\20200207_133535\logs\simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_133949.001.xlsx_SF_HTML-createProjectFromPSO_A1180.log
13:42:34.031|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_133949.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - FAIL Error initializing browser 'firefox': Error when accessing https://api.github.com/repos/mozilla/geckodriver/releases/latest: Unauthorized
13:42:34.031|simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_133949.001|SF_HTML-createProjectFromPSO|Go into SalesForce UI and generate Project from PSO|#1180|web.open(url) - Error log: C:\Projects\qa-automation_ips_Repository\RegressionTest\output\20200207_133535\logs\simplifyOnboardingAPI-SfProjectFromPSO.004,simplifyOnboarding.20200207_133949.001.xlsx_SF_HTML-createProjectFromPSO_A1180.log

Firefox log information:
java.lang.RuntimeException: Error initializing browser 'firefox': Error when accessing https://api.github.com/repos/mozilla/geckodriver/releases/latest: Unauthorized
at org.nexial.core.plugins.web.Browser.init(Browser.java:398)
at org.nexial.core.plugins.web.Browser.ensureWebDriverReady(Browser.java:307)
at org.nexial.core.model.PluginManager.initBrowser(PluginManager.java:88)
at org.nexial.core.model.PluginManager.getPlugin(PluginManager.java:64)
at org.nexial.core.model.ExecutionContext.findPlugin(ExecutionContext.java:378)
at org.nexial.core.model.TestStep.invokeCommand(TestStep.java:349)
at org.nexial.core.model.TestStep.execute(TestStep.java:175)
at org.nexial.core.model.TestCase.execute(TestCase.java:94)
at org.nexial.core.model.TestScenario.execute(TestScenario.java:129)
at org.nexial.core.model.ExecutionContext.execute(ExecutionContext.java:1221)
at org.nexial.core.ExecutionThread.run(ExecutionThread.java:182)
Caused by: java.io.IOException: Error when accessing https://api.github.com/repos/mozilla/geckodriver/releases/latest: Unauthorized
at org.nexial.core.plugins.web.WebDriverHelper.resolveDriverManifest(WebDriverHelper.kt:159)
at org.nexial.core.plugins.web.WebDriverHelper.downloadDriver(WebDriverHelper.kt:79)
at org.nexial.core.plugins.web.WebDriverHelper.resolveDriver(WebDriverHelper.kt:68)
at org.nexial.core.plugins.web.Browser.initFirefox(Browser.java:723)
at org.nexial.core.plugins.web.Browser.init(Browser.java:383)
... 10 more

Screen shots

Attach Logs

GraphQL call fails

Subject of the issue

ws.graphql command fails with IllegalArgumentException: Invalid GraphQL operation found: {"query":"query error even though the query is valid.

Your environment Details

  • Nexial Version: nexial-core dev_1394
  • Java(jdk) Version: 1.17.0
  • Operating System: Mac OS X 11.6
  • Browser Version (if applicable):

Steps to reproduce

Tell us how to reproduce this issue.

  • Setup test script for Graphql with ws.graphql command
  • end point url - https://countries.trevorblades.com/
  • Payload query { country(code: "BR") { name native capital emoji currency languages { code name } } }
  • Run the script

Expected behavior

Actual behaviour

Screen shots

Attach Logs

set to turn off shell trace drops java exit value

Subject of the issue

Your environment Details

  • Nexial Version:
  • Java(jdk) Version:
  • Operating System:
  • Browser Version (if applicable):

Steps to reproduce

Expected behavior

nexial.sh should exit with non zero exit code on java error like invalid arguments

Actual behaviour

exits with 0 because line 'set +x' always exits with 0

Screen shots

Attach Logs

Duplicate activity names now generates error resulting in skipping of all test scenarios

Latest version of 2.9 has the following error being generated:

» Error: Error found in [simplifyOnboardingAPI-plan.002,simplifyOnboarding.20200106_145752.001.xlsx][SF_API-createRecordAccount][A22]: Found duplicate activity name 'Log Event ID information'
org.nexial.commons.InvalidInputRuntimeException: Error found in [simplifyOnboardingAPI-plan.002,simplifyOnboarding.20200106_145752.001.xlsx][SF_API-createRecordAccount][A22]: Found duplicate activity name 'Log Event ID information'
at org.nexial.core.model.TestScenario.parse(TestScenario.java:252)
at org.nexial.core.model.TestScenario.(TestScenario.java:69)
at org.nexial.core.model.ExecutionContext.parse(ExecutionContext.java:1883)
at org.nexial.core.model.ExecutionContext.useTestScript(ExecutionContext.java:314)
at org.nexial.core.ExecutionThread.run(ExecutionThread.java:175)

Duplicate activity names should not be generating errors as this was not called out in Release Notes and version 2.7 is working without issue.

After each test scenario the console shows a Null Pointer error

Is your feature request related to a problem? Please describe.
I noticed that after each "thread" summary, which amounts to each scenario execution, including iterations of a scenario, there is a Null Pointer exception:

Exception in thread "Thread-1" java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:460)
at java.util.Properties.setProperty(Properties.java:166)
at java.lang.System.setProperty(System.java:796)
at org.nexial.core.ExecutionThread.run(ExecutionThread.java:230)

Describe the solution you'd like
The tests still execute correctly, so I don't see any immediate effects. But I figured its not a clean execution if there is a Null Pointer.

Describe alternatives you've considered
No alternative.

Additional context
Add any other context or screenshots about the feature request here.
request-fixnullpointer

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.