Botium Scripting Memory - Variable value not picked up in the utterance - chatbot

I have been unsuccessful so far in getting the scripting memory to work and looking for help please.
Utterance in my test excel sheet - How can I get $app-music?
ScriptingMemory tab content:
Expectation is: Botium to send $app-music values in the utterances to the bot
Actual behaviour: Botium sending variable name ($app-music) as opposed to the values.
Please can someone help me in getting this to work? TIA.

I spotted two problems. First of all, variable names with a "-" are not allowed - only characters and numbers - see Botium Wiki - choose another variable name, $appmusic for example.
Furthermore, the Excel area scanned by Botium starts in the second row, according to your configuration, so you will have to move the scripting memory table one to the bottom.

Related

Trying to use dynamic and action parameters

recently I stumbled upon one of the videos of Benjamin Schumann titled: What are dynamic and action parameters and when should you use them in your AnyLogic model.
I tried to further adjust the functions of dynamic and action based parameters for a problem of mine. Just to give a heads up, I am fairly new to Anylogic (only worked through that one book, and some minor projects and tutorials) and been decent in Java (been a few years since I've been actively working in Java but currentlystarting to get back in [still rusty]).
Regarding my actual problem, in the video Mr. Schumann has an agent with three parameters. One static, one dynamic and one action. In addition to that he has a variable (double) all set in his agent. On his main is a button to increment the value of the variable with the help of the parameters and to trace the lines in the console (= giving out a string if a certain threshold of the variable is passed).
I created a similar setting, however I happen to run into a lot of variable errors during time to time while compiling.
Here some example code snippets:
dynamic parameter p_Station of the type String
v_myFahrt < 222 ? "Wiesbaden Hbf" :
v_myFahrt < 442 ? "Wiesbaden-Biebrich Bahnhof Wiesbaden Ost" :
v_myFahrt < 663 ? "Wiesbaden-Mainz-Kastel Bahnhof" :
"Hochheim (Main) Bahnhof"
therefore my variable is called v_myFahrt, a double with the initial value of 0
action parameter p_durchFahrt with the default action:
v_myFahrt = v_myFahrt + 220;
and my Button on the main:
myAgent.p_durchFahrt();
traceln(myAgent.p_Station());
So basically it is a somewhat similar code as in the reference. I tried to than add another instance of the agent with a different set of "code" for the dynamic parameter (different Strings and values) as well as a different "code" for the action parameter (e.g. + 208 instead of + 220). To then wanting to trace the lines in the console with the button again.
I tried to add
myAgent1.p_durchFahrt(); traceln(myAgent1.p_Station());
to it.
But before I coul even run it, I keep getting the error "v_myFahrt cannot be resolved to a variable" for myAgent1. Inspecting the error it keeps referring to myAgent1 with the newly added code for p_Station and I can't seem to find a way around it.
What am I doing majorly wrong here?
it looks like you have created v_myFahrt in main, right? (that would explain your symptoms).
If yes, you should create it in MyAgent instead.

issue with DLOOKUP syntax error for new database

I have a database with 4 tables but primarily it is a diversion table/form (DiversionT/F) and a payback table/form (PaybackT/F). Basically, when my program loans parts to other programs in my organization a diversion is created in DiversionT. When the program want to payback they create a payback entry in PaybackT.
I have an issue that I am confused about: On PaybackF the user enters an NSN (long part code) that they want to payback. Ultimately, I want some of the form to auto populate with part info based on the NSN entered. The info is stored in DiversionT. I have created a few text boxes on PaybackF to show the info. The first text box I am trying to autofill based on the NSN is a textbox called PartName. It should search DiversionT for that NSN and fill in the appropriate PartName on PaybackF. In the control Source for the box I typed:
=DLookUp("[PartName]","[DiversionT]", "[PartName]=" & Forms![PaybackF]!NSN)
I get the following error:
The expression you entered contains invalid syntax.
To be perfectly honest I don't really understand VBA yet (spent my life until now with C, C++, Java, and Python) but looked up the function on the Microsoft site.
If I am not going about this right, please also let me know?
When using DLookup to get data, if you are dealing with text strings, you need to ensure that you use single quotes to wrap the text in.
Also, I think that your logic in the DLookup is slightly wrong. I think that this is what you are after:
=DLookUp("[PartName]","[DiversionT]", "[NSN]='" & Me!NSN & "'")
Regards,
You can't enter VBA in to form properties like source control. VBA is only used in procedural code in the VBE. That being said, there is a DLOOKUP function available to form fields and the syntax is similar. This is a cause of your confusion.
EXAMPLE SYNTAX FOR NUMBERS:
=DLookUp("[PartName]","DiversionT", "[PartName]=" & [NSN])
EXAMPLE SYNTAX FOR STRINGS:
=DLookUp("[PartName]","DiversionT", "[PartName]='" & [NSN] & "'")
NOTE:
I can't tell what form you are on or if NSN is from a parent form or subform. Basically, NSN needs to be readable from the same form where that text field exists.

my report run but does not display anything in oracle

I have designed report in 10g. When I call report through forms 10g than report executed but do not display anything. Kindly help me what I have to do to resolve this issue. I use .rep report and desformat is PDF. One thing more when in this desformat my report started downloading instead of giving a preview in internet explorer and downloaded pdf is empty (contain nothing).
Report displays the result of a query. So the most obvious question is: does the query, when you run it outside of the Forms/Reports application, work correctly and returns the result?
If it accepts certain parameters, verify that they are correctly passed. Mind the datatype, especially if DATE is involved as people usually have problems with different format masks, NLS settings and stuff.
Also, check whether those parameters are obligatory or not. If not, report's query should contain something like
where (some_value = :parameter_value or :parameter_value is null)
Furthermore, make sure that all those parameters are passed to the report. You can display their values in the report, just to see what's going on. Open Reports Paper Layout Editor, go to the margin and - using the ampersand notation - display those values, such as
Parameter one = &parameter_one
Parameter two = &parameter_two

Not able to select desired value form dropdown while running webdriver script

On running webdriver code control finds the dropdown clicks on it but selection of a value does not occur. I tried with "select by index" and "select by value" methods but no use. I think it sof type bootstrap dropdown.most posts direct to usage of aforesaid functions but im unable to use it . any help will be greatly appreciated.
50
100
200
300
400
500
We really need more information, including what programming language you are using, what code you are executing, and the HTML you are executing against. Looking at your comment in your original question, and without knowing any of the aforementioned, all I can suggest is selecting the times with XPATH. In Python it would be something like:
driver.find_element_by_xpath("//select[#ng-model='recordnumber']/option[#value='300']").click() # this would select the "300" item
Thanks for your effort but i found the solution . just we need to click on the dropdown and call sendKeys("value to be entered into the dropdown").
Eg: drp=findElement(By.xpath("dropdown element locator").click();
drp.sendKeys("value to shown in dropdown");

Workflow - Can not select right rows

I have created this workflow by copying a workflow(macro) I recorded from our company system in the hope to relieve me from heavy data entry work. However, when I play the workflow, it failed to select the right row on a list(grid). Instead, it always selects the first row no matter what row I designate. I don't know which programming language the system uses. It was saved using the .P extension. Here is a part that caused the problem. The third last sentence (SELECT_ROW("2")) was not properly executed.
SELECT_TAB("po-proc-tabpage-1").
SET_FIELD("scr-po-num","02.6430").
SELECT_TAB("NONE").
CHOOSE_BUTTON("button-edit").
CHOOSE_BUTTON("button-items").
GET_DIALOG("poitment.p","poitment-004").
SELECT_GRID("br-item").
RESET_GRID_SORT().
SELECT_ROW("2").
CHOOSE_BUTTON("badd-charges").
GET_DIALOG("poitmchg.p","poitmchg-004").
Thanks in advance for any comments.