Coder Social home page Coder Social logo

luxoft / twister Goto Github PK

View Code? Open in Web Editor NEW
37.0 32.0 21.0 677.17 MB

Twister Test Automation Framework

Home Page: http://www.twistertesting.com/

License: Apache License 2.0

Python 37.20% Shell 0.37% HTML 1.13% Java 55.28% Perl 0.15% Tcl 0.52% CSS 0.46% JavaScript 4.74% Batchfile 0.08% Ruby 0.08%

twister's Introduction

Luxoft Twister

Luxoft Twister is a test automation framework designed to manage and drive test cases written in shell scripting languages. Twister supports TCL, Python and Perl, three of the most common scripting languages used in testing communities. Twister offers an intuitive, web-based user interface for configuration, control, and reporting with remote access availability. This makes it easy to build the testing suite, execute it, and accurately monitor the result logs.

For a VERY QUICK start with Twister, you can use vagrant as explained in [README] (https://github.com/Luxoft/Twister/tree/git_hub_branch/vagrant/README) file

UserGuide

Plugin_HowToDevelop

Luxoft Twister is available under the Apache License, Version 2.0.

For any questions, you can contact us at [email protected].

twister's People

Contributors

acostachi avatar bogdanpopescu avatar dcioata avatar mihailtudoran avatar varzan 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

Watchers

 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

twister's Issues

EP cannot be installed on Windows

Twister User guide (pg3) states that EPs can also run on Windows. When attempting to install a Twister Client using installer.py an AttributeError exception is thrown and the installation stops.

$ python installer.py
Traceback (most recent call last):
File "installer.py", line 53, in
if os.getuid() != 0:
AttributeError: 'module' object has no attribute 'getuid'

mysql setup

please include some basic commands to get started with a mysql server

create database interop;
use interop;
create table results ( id int(10) unsigned not null auto_increment primary key, run_nr int (10), workstation varchar(32), suite varchar(32), test_name varchar (32), datetime_started varchar(32), datetime_finished varchar(32), status varchar(10)) engine=myisam;

create user 'user'@'localhost' identified by 'password';
grant all on . to 'user'@'localhost' identified by 'password';

select user,host,password from mysql.user;

show columns from interop.results;

Database error.

I have installed it succesfully, getting twister framework correctly.

"Project" and "Configurations" tabs are working fine. But when I click on "Reports -> Details" or "Reports -> History" tabs I am getting this error. Please let me know how to create these databases.

Details
Error in query SELECT * FROM results ORDER BY id!

MySQL Error 1146: Table 'interop.results' doesn't exist!

Test execution order incorrect if test suite contains a mix of test cases and test suites

While trying to work around the lack of pre/post execution script logs (Issue #6), we created a master Test Suite that contained an initialization TC, to substitute for the pre-execution script, a couple of test suites with TCs, and a teardown TC, to substitute for the post-execution script.
When run, the initialization and teardown TCs were executed first, then the test suites. As seen in the screenshot below.

execution

We expected the tests in each test suite to run in the order specified.

This was run from the most recent Twister version from GitHub.

Save button is shown instead of Open button in pre/post execution open file dialog

Instead of open button save button is shown while selecting pre and post execution files from the open file dialog box.
Also, the file location is always the home directory. It doesn't remember the last visited location or doesn't open the

path which is present in the text box. For example: If the pre-execution script contains:

/home/user/twister/demo/testsuite-python/init.py, I would ideally expect it to take me to the

/home/user/twister/demo/testsuite-python/ directory instead of /home/user/
prepostexecution-openbutton

Cannot Run Test Cases within a test suite parallely

There is no provision for running more than one test case together on a single test bed.
E.g. In Test_Suite_1 I have two test cases viz, Test_1 and Test_2. Now Test_1 and Test_2 should run in parallel on test bed of Test_Suite

Additional Setup status conditions should cause remaining testsuite to be skipped.

A project contains a testsuite with setup and regular testcases.
Currently only when _RESULT = 'fail' or if a coding exception is generated within a setup script are the remaining testcases skipped.
User Docs (Section 8 - How to Run the Test Files) states that 'abort' and 'not executed' are also status conditions where the setup did not end as expected. 'timeout' and 'invalid' are other _RESULT conditions that may indicate that the setup did not end as expected.
setupstatus

Cannot save project if EP is not assigned to test bed

If a test bed assigned to a test suite does not have an EP associated with it, the saving the project file fails without any indication why. When an EP is then associated with the test bed, the project is saved.

It is expected that the project file will be saved whether or not an EP is assigned to the test bed. An error should be displayed reporting that the project needs an EP assigned to the test bed.

Directory Choices must come from http host not local browser

When selecting configuration files they must be from the http server location not the browser location. We have different paths on different machines to the files. Users need to be able to use a Win7 PC for all browser functions while the server can remain on linux.

EP_HOST cannot be commented out or null.

EP_HOST is an optional keyword in epname.ini.

If lines:
EP_HOST =
or

EP_HOST = some ip address

are used to disable the feature, the EP does not start.
Only if the line is removed will the EP start.

Enhancement: Sorting test bed components and properties

Currently, the order that components are listed in a test bed are non-deterministic.
The same is true for component properties.
A means should be provided to allow sorting of test bed components and the component properties.
The user should be able to place the components or properties in any order.

Testcase Filename contains '//' in CLI log

In the CLI, whenever the full pathname of a file is displayed, it contains two backslash characters. Testcases were part of a testsuite copied from the Predefined Suites tab.

testfilenamepath

Issue in Editing property names/deleting the property of a component under TestBed

Here are the steps to reproduce the above problem:

  1. Under the configuration tab in Twister, add a component (C1) for any tbx.
  2. Add a property P1 to the component C1
  3. Edit the property name created above to let’s say Prop1 -> This is not allowed. Only the first character is taken.
  4. Try to delete the property created in step 2 -> Unable to delete the property. No error message is seen.

An alternative way to see the problem:

  1. Edit the property name of any existing component.
  2. Leave the property window, then return. Note that the property name reverted back to the original.
  3. For the selected property, hit the remove button. Note that the property is not removed. No error message is seen.
  4. Removing the component will remove all the properties. Not a good way to fix the problem.

So there are a couple of issues here:

  1. The property name cannot be edited
  2. Any property whose name was edited cannot be removed

Last testcase becomes inaccessible after another testcase is set to setup or teardown

  1. A project is created with many testcases and testsuits that fills a project panel
    projectpanel01

  2. After one or more testcases are set to setup or teardown the bottom testcase becomes inaccessible. The slider does not allow displaying the last testcase.
    projectpanel02

  3. If a non-setup or non-teardown testcase or testsuite is selected, the slider is then able to display the last testcase.

Spelling mistake in a warning message

"SMTPPath tag si empty in framework config"
issue

It should be SMTP Path tag is empty in framework config.

Warning message is displayed while loading the framework GUI

Twister integration with SVN

How about if from web interface you can trigger an SVN checkout or SVN update on a folder? After that the selected files from folder to be uploaded on the server. In this way you can keep the tests under developing updated..

Execution order of Test Suites in a project is improper

Problem Description: The execution order of Test Suites in a project is not proper. For example when there are two test suites and another script which is not mapped to any Test Suite in a project, the execution order is as follows: First Test Suite 2 is executed, then standalone script and then the test suite 1 is executed.

Steps:

  1. Create a project Example
  2. Add a script init.py to the project
  3. Add a test suite1 to the project after the init.py
  4. Add 3 test scripts under Test Suite 1
  5. Add a test suite 2 to the project after Test Suite 1
  6. Add 3 test scripts under Test Suite 2
  7. Save the project and run it

Expected Result:
The order of execution should be:

  1. init-py
  2. Test Suite1
  3. Test Suite2

Actual Result:

The order of execution actually is:

  1. Test Suite 2
  2. init.py
  3. Test Suite 1

Attached is the screenshot:
execution

Example.xml:

false false PROJECT false tb1 Run_Number 1 /home/user/twister/demo/testsuite-python/init.py Runnable true Running true TESTSUITE1 tb1 /home/user/twister/demo/testsuite-python/test_pexpect_ftp.py Runnable true Running true /home/user/twister/demo/testsuite-python/test_pexpect_ssh.py Runnable true Running true /home/user/twister/demo/testsuite-python/test_py_globals1.py Runnable true Running true TESTSUITE2 tb1 /home/user/twister/demo/testsuite-python/test_py_globals2.py Runnable true Running true /home/user/twister/demo/testsuite-python/test_py_globals3.py Runnable true Running true /home/user/twister/demo/testsuite-python/test_py_printnlogs.py Runnable true Running true ## Log File:

Py debug: For EP EP-1001, CE Server returned a new status: running.
EP debug: Received start signal from CE!
TC debug: TestCaseRunner started with User: user ; EP: EP-1001.
TC debug: Connected to proxy, running tests!
Downloading library TestBed.py ...
Downloading library Threads.py ...
Downloading library TscFtp.py ...
Downloading library TscTelnet.py ...

===== ===== ===== ===== =====
Starting suite 102:TESTSUITE2
===== ===== ===== ===== =====

<<< START filename: 1004:/home/user/twister/demo/testsuite-python/test_py_globals2.py >>>

Debug: dependancy = , prereq =False, optional =False ...

Setting 2 functions, 2 classes and 2 instances, for using in the next tests!

File /home/user/twister/demo/testsuite-python/test_py_globals2.py returned PASS. <<<

<<< END filename: 1004:/home/user/twister/demo/testsuite-python/test_py_globals2.py >>>

<<< START filename: 1005:/home/user/twister/demo/testsuite-python/test_py_globals3.py >>>

Debug: dependancy = , prereq =False, optional =False ...

*** All functions and classes are pointers, defined in the previous test!!!
Calling function 1

Some function #1

Calling function 1

Some function #2

Calling class 1

<builtin.Class1 instance at 0x8e1274c>

Calling class 2

<Class2 object at 0x8e1274c>

Checking instance 1

<builtin.Class1 instance at 0x8e1268c>

Checking instance 2

<builtin.Class1 instance at 0x8e1268c>

File /home/user/twister/demo/testsuite-python/test_py_globals3.py returned PASS. <<<

<<< END filename: 1005:/home/user/twister/demo/testsuite-python/test_py_globals3.py >>>

<<< START filename: 1006:/home/user/twister/demo/testsuite-python/test_py_printnlogs.py >>>

Debug: dependancy = , prereq =False, optional =False ...

TestCase:test_py_printnlogs.py starting

TEST_PY_PRINTNLOGS.PY: working 0...
TEST_PY_PRINTNLOGS.PY: working 1...
TEST_PY_PRINTNLOGS.PY: working 2...
TEST_PY_PRINTNLOGS.PY: working 3...
TEST_PY_PRINTNLOGS.PY: working 4...
TEST_PY_PRINTNLOGS.PY: working 5...
TEST_PY_PRINTNLOGS.PY: working 6...
TEST_PY_PRINTNLOGS.PY: working 7...
TEST_PY_PRINTNLOGS.PY: working 8...
TEST_PY_PRINTNLOGS.PY: working 9...

File /home/user/twister/demo/testsuite-python/test_py_printnlogs.py returned PASS. <<<

<<< END filename: 1006:/home/user/twister/demo/testsuite-python/test_py_printnlogs.py >>>

===== ===== ===== ===== =====
Starting suite 100:PROJECT
===== ===== ===== ===== =====

<<< START filename: 1000:/home/user/twister/demo/testsuite-python/init.py >>>

Debug: dependancy = , prereq =False, optional =False ...

I am init file.
I am not doing anything special, just printing some variables.
Hello, user user !
Test Bed: tb1
Exec process: EP-1001
Suite: PROJECT
File: /home/user/twister/demo/testsuite-python/init.py

File /home/user/twister/demo/testsuite-python/init.py returned PASS. <<<

<<< END filename: 1000:/home/user/twister/demo/testsuite-python/init.py >>>

===== ===== ===== ===== =====
Starting suite 101:TESTSUITE1
===== ===== ===== ===== =====

<<< START filename: 1001:/home/user/twister/demo/testsuite-python/test_pexpect_ftp.py >>>

Debug: dependancy = , prereq =False, optional =False ...

Connected to openbsd.sunsite.ualberta.ca.
220 openbsd.srv.ualberta.ca FTP server ready.

anonymous
331 Guest login ok, send your email address as password.

230- Welcome to ftp.openbsd.org at the University of Alberta
230- in Edmonton, Alberta, Canada.
230- For other mirror sites visit http://www.openbsd.org/ftp.html
230-
230- _____ ____ _____ _____
230- / ___ \ | _ \ / | __
230- / / / /
___ ____ | |
) | (___ | | | |
230- / / / / __ / _ / __ | _ < ___ | | | |
230- / // / // / __/ / / /| |) |__) | || |
230- ___
/ .**/**// // |___/|/|/
230- /
/
230- | . The proactively secure Unix-like
230- . |L /| . Operating System.
230- _ . |\ | --+./| . Please visit the OpenBSD web site
230- / ||| Y J ) / |/| ./ at http://www.openbsd.org/
230- J |)'( | F.'/
230- -<| F __ .-< All transfers are logged, if you don't
230- | / .-'. . /-. L___ like this policy, disconnect now! 230- J \ < \ | | O\|.-' 230- _J \ .- \/ O | | \ |F 230- '-F -<_. \ .-'-' L__ OpenBSD is available for order!
230- __J _ . >-' ).. |-' You can order OpenBSD CD's from
230- -|.' /_. \_| F http://www.openbsd.org/orders.html. 230- /.- . _.< CD sales are very important to support 230- /' /.' .'\ the continued development of the project.
230- /L /' |/ _.-'-
230- /'J ___.---'|
230- |\ .--' V | .
230- |/.-. ._) 230- / .-.\ 230- VK \ (
230- `.
230-
230- DO NOT mirror openbsd from this site! use one of the
230- "second level mirrors" listed at http://www.openbsd.org/ftp.html
230- instead of this site. If you mirror from this site you will lose
230- access to it.
230-
230- E-mail comments, questions, trouble reports, and complaints
230- to [email protected]. Please drive safely.
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.

cd /pub/OpenBSD/
250 CWD command successful.

ls
500 Illegal PORT rejected (address wrong).
ftp: bind: Address already in use

File /home/user/twister/demo/testsuite-python/test_pexpect_ftp.py returned PASS. <<<

<<< END filename: 1001:/home/user/twister/demo/testsuite-python/test_pexpect_ftp.py >>>

<<< START filename: 1002:/home/user/twister/demo/testsuite-python/test_pexpect_ssh.py >>>

Debug: dependancy = , prereq =False, optional =False ...

=== Connecting to SSH ===

Exception:
Traceback (most recent call last):
File "/home/user/twister/client/executionprocess/TestCaseRunner.py", line 553, in
result = current_runner._eval(str_to_execute, globs, args)
File "/home/user/twister/client/executionprocess/TestCaseRunnerClasses.py", line 252, in _eval
execfile(fpath, globs_copy)
File "/home/user/twister/.twister_cache/EP-1001/test_pexpect_ssh.py", line 57, in
_RESULT = test()
File "/home/user/twister/.twister_cache/EP-1001/test_pexpect_ssh.py", line 30, in test
child.expect('user@localhost:', timeout=5)
File "/usr/lib/python2.7/dist-packages/pexpect.py", line 1311, in expect
return self.expect_list(compiled_pattern_list, timeout, searchwindowsize)
File "/usr/lib/python2.7/dist-packages/pexpect.py", line 1325, in expect_list
return self.expect_loop(searcher_re(pattern_list), timeout, searchwindowsize)
File "/usr/lib/python2.7/dist-packages/pexpect.py", line 1409, in expect_loop
raise TIMEOUT (str(e) + '\n' + str(self))
TIMEOUT: Timeout exceeded in read_nonblocking().
<pexpect.spawn object at 0x8e7e68c>
version: 2.3 ($Revision: 399 $)
command: /usr/bin/ssh
args: ['/usr/bin/ssh', 'user@localhost']
searcher: searcher_re:
0: re.compile("user@localhost:")
buffer (last 100 chars): 2013 from localhost
ailas: command not found
�]0;user@user-VirtualBox: �user@user-VirtualBox:$
before (last 100 chars): 2013 from localhost
ailas: command not found
�]0;user@user-VirtualBox: �user@user-VirtualBox:$
after: <class 'pexpect.TIMEOUT'>
match: None
match_index: None
exitstatus: None
flag_eof: False
pid: 5787
child_fd: 5
closed: False
timeout: 30
delimiter: <class 'pexpect.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1

File /home/user/twister/demo/testsuite-python/test_pexpect_ssh.py execution FAILED. <<<

<<< END filename: 1002:/home/user/twister/demo/testsuite-python/test_pexpect_ssh.py >>>

<<< START filename: 1003:/home/user/twister/demo/testsuite-python/test_py_globals1.py >>>

Debug: dependancy = , prereq =False, optional =False ...

Root level params: ['NE1']
All params for Level_1: False
All params for Level_1/Level_2: False

First level global #1: False

Will set new value to:: value_13_804a31eef05f1f6267396cb0e9
Check value changed:: False
Will set new value to:: value_16_2b592e538cdc0b55ab0ddc038b75a14a
Check value changed:: False
Will set new value to:: value_8_d261c39f77b2ba1a
Check value changed:: False
Will set new value to:: value_15_f942f395f7a5099253bf6512de869b
Check value changed:: False
Will set new value to:: value_11_7e375687ec981c86f8529d
Check value changed:: False
Will set new value to:: value_7_82ecdb4118be2a
Check value changed:: False
Will set new value to:: value_14_e8f78dd9587511e4639b3d80c88d
Check value changed:: False
Will set new value to:: value_16_7646dd0db526c0f621ba6047af64935e
Check value changed:: False
Will set new value to:: value_18_8d7b807e1c1c1bdce14f77376809974f85fb
Check value changed:: False
Will set new value to:: value_6_c66dcdff36c1
Check value changed:: False

File /home/user/twister/demo/testsuite-python/test_py_globals1.py returned PASS. <<<

<<< END filename: 1003:/home/user/twister/demo/testsuite-python/test_py_globals1.py >>>

===== ===== ===== =====
. . . All tests done . . .
===== ===== ===== =====

EP debug: Successful run!

Py debug: For EP EP-1001, CE Server returned a new status: stopped.

Twister doesn't execute the pre-execution and post-execution scripts

Problem Description: Twister doesn't execute the pre and post execution scripts

Steps to reproduce the issue:

  1. Create a project named example
  2. Create a Test suite and add to the project and select one script in the testsuite
  3. Provide a pre-execution script and post execution script from the Twister GUI. (Check the attached screenshot)

Result: Twister doesn't execute the pre and post execution scripts. It just executes the Test Suite scripts.

pre postexecution

Example.xml

false /home/user/twister/demo/testsuite-python/init.py /home/user/twister/demo/testsuite-python/test_py_printnlogs.py false PROJECT false tb1 Run_Number 1 /home/user/twister/demo/testsuite-python/test_py_globals1.py Runnable true Running true /home/user/twister/demo/testsuite-python/test_py_globals2.py Runnable true Running true ## Log File:

Py debug: For EP EP-1001, CE Server returned a new status: running.
EP debug: Received start signal from CE!
TC debug: TestCaseRunner started with User: user ; EP: EP-1001.
TC debug: Connected to proxy, running tests!
Downloading library TestBed.py ...
Downloading library Threads.py ...
Downloading library TscFtp.py ...
Downloading library TscTelnet.py ...

===== ===== ===== ===== =====
Starting suite 100:PROJECT
===== ===== ===== ===== =====

<<< START filename: 1000:/home/user/twister/demo/testsuite-python/test_py_globals1.py >>>

Debug: dependancy = , prereq =False, optional =False ...

Root level params: ['NE1']
All params for Level_1: False
All params for Level_1/Level_2: False

First level global #1: False

Will set new value to:: value_16_69e14d421bd2e87674d89779ecba3535
Check value changed:: False
Will set new value to:: value_18_d8073edfc7cd4e1fada7cc52699d7bde72db
Check value changed:: False
Will set new value to:: value_11_0e3d59d0d0a18e00b579eb
Check value changed:: False
Will set new value to:: value_13_97b1b270879bb66f6aa126e275
Check value changed:: False
Will set new value to:: value_2_65fa
Check value changed:: False
Will set new value to:: value_10_92235c3a0312e622a378
Check value changed:: False
Will set new value to:: value_11_23d999485787341e141787
Check value changed:: False
Will set new value to:: value_2_168e
Check value changed:: False
Will set new value to:: value_7_279a047fc22530
Check value changed:: False
Will set new value to:: value_9_a7b823edc19ee0b89d
Check value changed:: False

File /home/user/twister/demo/testsuite-python/test_py_globals1.py returned PASS. <<<

<<< END filename: 1000:/home/user/twister/demo/testsuite-python/test_py_globals1.py >>>

<<< START filename: 1001:/home/user/twister/demo/testsuite-python/test_py_globals2.py >>>

Debug: dependancy = , prereq =False, optional =False ...

Setting 2 functions, 2 classes and 2 instances, for using in the next tests!

File /home/user/twister/demo/testsuite-python/test_py_globals2.py returned PASS. <<<

<<< END filename: 1001:/home/user/twister/demo/testsuite-python/test_py_globals2.py >>>

===== ===== ===== =====
. . . All tests done . . .
===== ===== ===== =====

EP debug: Successful run!

Py debug: For EP EP-1001, CE Server returned a new status: stopped.

After setup testcase fails remaining setup testcases are still executed

A testsuite is created that contains mulitple setup testcases.
If one setup testcase fails, the remaining testcases are executed.
As expected, the regular testcases are skipped and the teardown testcases are executed.
mulitplesetup01

It is expected that any remaining setup and regular testcases should be skipped following a setup testcase failure.

when start_ep.py is run it should not throw an error for already running eps instead they can be shown as info/warning

user@user-VirtualBox:~/twister/bin$ sudo python start_ep.py
Found 6 EPs: EP-1001, EP-1002, EP-1003, EP-1004, EP-1005, EP-1006.
Error: Process EP-1001 is already started for user user! (ping=3 sec)
[should be changed to " info " or "warning" message instead of "error" message]

Will execute: nohup /usr/bin/python -u /home/user/twister/client/executionprocess/ExecutionProcess.py user EP-1002 "127.0.0.1:8000" eth0 > "/home/user/twister/.twister_cache/EP-1002_LIVE.log" &
Ok! EP-1002 for user user launched in background!

Unable to queue files in the test suite through cli

user@user-VirtualBox:~/twister/bin$ ./cli.py --queue /home/user/twister/config/users/MYTEST2.XML:/home/user/twister/demo/testsuite-python/init.py

Hello, user user.
Failed to queue test /home/user/twister/demo/testsuite-python/init.py was queued in suite /home/user/twister/config/users/MYTEST2.XML!

Incorrect testcase displayed when selected from project with multiple copies of testcase

A project is created by creating multiple instances of a testsuit from the predefined suit panel.
After executing the project, the result of a testcase in the CLI log is sought by selecting the testcase in the project panel.
For each click on the testcase, the CLI log cycles through all the instances of the testcase.
It is expected that only the selected test is displayed in the CLI log.

image

Note in the image that the CLI is not displaying the testcase selected in the project panel.

Enhancement: Provide file_attributes when browsing a directory.

Version: V.:2.001
Not all dialog boxes provide a "details" button, details are helpful when selecting files.

Works from Browse: Select XML File dialog from the Configuration:Database tab.
But from "..." Configuration:Paths "EP name File", the details button is missing.
Similarly from the Project File Tab - open Project File dialog shows only file_names.

Allow monitoring of the CE logs from Twister Project/Logs panel

All logs should be able to be monitored from the logs panel, including the CE log.
Because the CE logs are in a directory different from the users log directory, and because a new log name is created for each execution run, the CE log cannot be provisioned to be monitored in the Configuration/Paths panel.

Non-serializable Python objects cannot be set as Global variables and passed between pre/post execution scripts and test cases.

As stated in the user guide, , serializable Python objects, like a telnet object, can be created in one TC, saved as a global variable using setGlobal(), and can then be used in other TCs in the test script using getGlobal(). However, this function only seems to work within test cases.

The set/getGlobal() functions do not work in a pre/post execution script. I understand that xmlrcplib can be imported, a connection to the CE can be made, and the getGlobalVariable() function can then be used instead. However, this also does not pass serializable Python objects. Other object types, strings, numbers, bools, ... can be set as globals and passed to TCs.

No logs for pre/post execution scripts

There is no indication in any of the logs if a pre or post execution script has been executed.
In addition, any CLI interaction or print statements in the script file are not displayed anywhere.
Since this sort of script is used for system initialization, it is necessary to log the start and end of the script and any CLI interactions.

Start/Stop/Pause a script/suite through CLI doesn't work

Unable to execute a testsuite through CLI.

Below is the command we have issued below followed by the error message. (The syntax is as per the Twister-Guide)

user@user-VirtualBox:~/twister/bin$ python cli.py -s start -p ~/twister/config/users/MYTEST.XML -c ~/twister/config/fwmconfig.xml

Hello, user user.

Starting...
Traceback (most recent call last):
File "cli.py", line 314, in
print proxy.setExecStatusAll(user, 2, options.config + ',' + options.project)
File "/usr/lib/python2.7/xmlrpclib.py", line 1224, in call
return self.__send(self.__name, args)
File "/usr/lib/python2.7/xmlrpclib.py", line 1578, in __request
verbose=self.__verbose
File "/usr/lib/python2.7/xmlrpclib.py", line 1264, in request
return self.single_request(host, handler, request_body, verbose)
File "/usr/lib/python2.7/xmlrpclib.py", line 1297, in single_request
return self.parse_response(response)
File "/usr/lib/python2.7/xmlrpclib.py", line 1473, in parse_response
return u.close()
File "/usr/lib/python2.7/xmlrpclib.py", line 793, in close
raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 1: 'list index out of range'>

User Guide URL needs fixing

User guide link only downloads the Git page itself instead of the PDF. If I download the RAW file, it is the Twister PDF.

Some minor spelling errors on pop-ups

On saving Project File, the dialog name is "Succes" - should be "Success"
On adding a email address to the Email List "Successfull" - should be "Successful"
//I'll edit this list as I see them

When a new EP is added to the list of epname.ini, and run the start_ep.py and checked ./cli.py --eps doesn't list the newly added ep

Added new EP called "EP-1006" in epname.ini file and restarted client [ie, start_ep.py]

Now check ./cli.py --eps
user@user-VirtualBox:~/twister/bin$ python cli.py --eps
Hello, user user.
Your Execution-Processes are:
EP-1001 : running (last active 5 sec)
EP-1002 : running (last active 5 sec)
EP-1003 : service not running
EP-1004 : service not running
EP-1005 : service not running

The added "EP-1006" is not listed in the output.
Now restarted the server[ie, "start_server"] . Only after retstarting the central Engine [server] , "EP-1006" is reflected in the output. If User is adding an EP in their epname.ini file then it should be reflected in the eps list once the client is restarted. But system is expecting the server to be restarted to show the newly added ep in the ep's list.

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.