AltWalker is an open source Model-Based Testing framework that supports running tests written in python3 and .NET/C#.
vertex_coverage(100)
is not achievable with this model.
When you reach a leaf node you reach a dead end and the path can't achieve vertex_coverage(100)
.
You can try to run altwalker check -m login.json "random(vertex_coverage(100))"
to check if the generator and stop condition are valid for the model.
Hi everyone, I'm trying to setup a basic example from scratch but whenever I try to run altwalker (or the graphwalker) it quits with null error message
gw online --model models/teststatus.json "random(edge_coverage(100))" --port 8887 --service RESTFUL --verbose
An error occurred when running command: online --model models/teststatus.json random(edge_coverage(100)) --port 8887 --service RESTFUL --verbose
null
altwalker check -m models/teststatus.json "random(edge_coverage(100))"
No issues found with the model(s).
altwalker verify -m models/teststatus.json tests
No issues found with the code.
altwalker online -m models/teststatus.json "random(edge_coverage(100))" tests
Running:
ERROR:altwalker.graphwalker:Could not start GraphWalker Service on port: 8887.
ERROR:altwalker.graphwalker:Process exit code: 0
ERROR:altwalker.graphwalker:GraphWalker Service Error: null
GraphWalker Error:
An error occured while trying to start the GraphWalker Service on port: 8887
null
For more information check the log file at: graphwalker-service.log
any clues?
on another topic, I've defined a variable on one edge. this variable is an array. I want now to access it from the python code side but it seems that it's being serialized... what am I missing?
on the model, as actions on the model
nonfinal_statuses = ['TODO', 'EXECUTING'];
final_statuses = ['PASS', 'FAIL', 'ABORTED'];
output:
[2020-09-28 14:41:52.472732] TestStatusModel3.scheduled_run_final Running
Data:
{
"final_statuses": "[object Array]",
"nonfinal_statuses": "[object Array]"
}
Hi everyone, I just made available a JUnit XML reporter for AltWalker; it can generate reports in two different ways, so that you can integrate it with your CI/CD tools and even a test management tool if you wish to do so. You can find the code for it in this repo (https://github.com/bitcoder/altwalker-petclinic-example); it requires you to call altwalker programatically using its API.
A full end2end tutorial, showing integration with Jira using Xray is available here: https://docs.getxray.app/display/XRAY/Model-Based+Testing+using+AltWalker+and+Python
Feedback is welcome. Feel free to copy/adapt the custom reporter to your own needs and eventually use parts of it if you wish to include something similar in AltWalker officially. I think that would require cleaning up some code and eventually doing some changes but its a starting point :)
Hi guys, I am getting started with altwalker C# but I encountered this error when I start with quickstart guide altwalker online -x c# tests -m models/default.json "random(edge_coverage(100))"
in the docs. Besides, I dont know how I could run without encountering it with JetBrains Rider's run feature but when I entered the site 0.0.0.0:5000 it showed {"error":{"message":"Handler not found"}}
AltWalker should work fine with GraphWalker 4.3.x, but there are issues with global attributes (e.g. global.count
), for example something like this won't work in GraphWalker 4.3.x:
def v_start(self, data):
# to set a new value for a global key
data["global.count"] = 1
Until this issue is fixed in 4.3.2 you should use 4.2.0.
tl;dr;
I want to be able to perform model actions (so I can enable/disable) edges in my model, on the fly.
So far I have been unable to figure out a way of getting that done.
In slightly more detail:
Setting regular actions and guards is all good and well but I need to be able to do this based on the data the actual test code has. Is this something that can be done currently (I am OK with hacky solutions)? If not, should I try to get this into AltWalker or would it be better to talk to the graphwalker people?
Hi -
I need to set a variable inside the model to a random number (e.g. between 1-100). I have a suspicion that this can be done with Read/Update Graph Data, but I need to see an example. The information in https://altom.gitlab.io/altwalker/altwalker/core/tests-structure.html#read-update-graph-data is too short for me to understand how to use it.
Any examples I can look at?
Any other suggestions how I can set a variable (e.g. global.MyVar) to a random number?
thanks, Michael
(I explained the full problem here: https://groups.google.com/g/graphwalker/c/K9xMFLmWxjc in case you are wandering why I need this).
GraphWalker Error: Could not start the GraphWalker Service on port: 8887
and my log file states: Missing a command. Add '--help'
.altwalker online tests -m models/FRG_PRELIM.json "random(edge_coverage(100))"
java -jar C:\graphwalker\graphwalker-cli-4.3.1.jar %*
I'm not sure if this will work long-term, but it sure seems to fix my problem now!