r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

Janko
16-May-2009
[4749x3]
yes, dialect based solution would be very interesting ... I was thinking 
about dialects a little too (not concrete yet) ... currently my testing 
engine is made so that it uses a proxy and it records your what you 
do via browser and then it can repeat the same and comparte the output 
(it already figures out that it needs to set different cookie and 
some basic stuff to login for example , and I have idea to make it 
scriptable for other dynamic data but I haven't come that far yet 
) . It also doesn't do any smart comparisson of the outputs, but 
more of a report for human to view for now
yes, that wou bo awesome
maybe we could join the approaches so that both use common comparisson 
methods and reporting
Dockimbel
16-May-2009
[4752]
The recording proxy can be a very efficient approach for non-regression 
testing.
Robert
16-May-2009
[4753x2]
A bit OT but Lad and I started a test-dialect for RebGUI. You could 
send CLICK to GUI objects etc. and compare results and state, make 
screenshots of something was wrong etc.
but it's not totaly finished.
Dockimbel
16-May-2009
[4755x2]
Robert: Good to know. Can it be used to VID testing too?
to = for
Janko
16-May-2009
[4757]
Robert cool
Dockimbel
16-May-2009
[4758]
Janko: I was planning for some very simple console-based reporting 
like: 
testing signup...
testing check-page...
### test KO : <error description>


But I'll be glad to join forces when both our approaches would be 
really usable. I didn't wrote any specification so far, I'm still 
at the idea stage. My main concern is to reduce the cost of testing 
regression for our biggest web-based apps in production.
Robert
16-May-2009
[4759]
VID: It shouldn't be that hard to adapt it.
Janko
16-May-2009
[4760]
my report is json data rebol2json and then javascript displays it 
all ,... it's all single static html file with data and javascript 
(via my jsgoo library :) )
Robert
16-May-2009
[4761]
I think I will pic-up the project in a couple of weeks again and 
push a bit forward and than it get useable.
Janko
16-May-2009
[4762]
so if your test will generate some relatively compatible data and 
if it would make sense to be presented like this we can do it
Dockimbel
16-May-2009
[4763x2]
Yes, I think we could come up with a compatible reporting format.
Robert: I would be interested in using it if it works with VID and 
also support keyboard simulation (especially VID hotkeys).
Robert
16-May-2009
[4765]
Here is a snippet of a test script:

new_company: [
	dt: "Eingabe/Firmeninformationen"

	with company [
		; reset data form
		press-right a

		check note = ""

		name: 		"Test Suite Company 1"
		address:	"Teststra§e. 10"

		; should bring up an ALERT
		check-window [press a][press ok]

		; country:	"Deutschland"
		; press a

		; select sector
		check-window [press req-sector][
			sector-table: ["27"]
		]
	]
]
Janko
16-May-2009
[4766]
Robert what you describe even if for GUI app sounds somewhat similar 
too.. I also take screenshots for example , and I also need some 
methods to chech and compare the state of app , that is still totally 
missing (and many other things)
Robert
16-May-2009
[4767x2]
you reference the CONTEXT the test should be executed in. Then you 
can use all GUI word. Using set-word! sets the GUI widget to the 
value, state etc. (the dialect makes the most useful setting). You 
can press widgets, check values in widgets (fields, tables, check, 
...) You can even use different paths depending on results.
company_tbl_test: [

	company_tbl: [61 "GFA-Motoren"]

	check company_tbl = [61 "GFA-Motoren"]
]


First line sets a line in a table, second line checks if the selected 
value matches.
Dockimbel
16-May-2009
[4769]
Robert, maybe it should be the right time to switch to a "Testing" 
group (surprinsingly, there's no such group yet), we're going too 
OT.
Robert
16-May-2009
[4770]
ok
Maxim
16-May-2009
[4771x2]
<SNAP!> and doc cracks the whip !!
;-)
Dockimbel
16-May-2009
[4773]
Max, that sounds too hard, a ringing bell would be more accurate. 
;-)
Maxim
18-May-2009
[4774x6]
I was doing a search on cheyenne the other day and came accross this. 
 Is she a relative of yours doc?   ;-)
http://en.wikipedia.org/wiki/Cheyenne_Kimball
hi doc, I'm trying to get cheyenne working on my new debian VPS. 
 so far I was able to get x11 working (thanks to henrik)  and its 
now happy about that (its not complaining about X11 anymore).

but its now complaining about libstdc++.so.5
ok cheyenne is working... sorry about being so jumpy... I did some 
googling and am now starting to understand some of the deeper linux 
administration concepts.
yess.... a glorious cheyenne built 404 page not found in my browser 
using firefox and my new VPS with shiny 6 letter domain name  :-)
now the fun part... building a new web site from scratch, using brand 
new technology  ;-)
Dockimbel
18-May-2009
[4780x2]
Cheyenne Kimball: I often stumbled upon her fan pages searching for 
cheyenne keyword, pretty and talented woman.
Cheyenne's 404 : sounds like a victory scream. :-)
Maxim
18-May-2009
[4782]
yes it is  :-D
Maxim
19-May-2009
[4783x4]
doc, trying to understand the mod  'WORDS  dialect...   I am reading 
its parser, and I still don't get what the 'IN token does.  or what 
options I can use, or even why its needed.

can you give me a few pointers on how and why it should be used?
Q2:  within the mod, requests have a locals value of none, does any 
of the uniserve/cheyenne internals touch this or can I use this at 
will within any module, creating an object and appending/changing 
 attributes as needed?
in the above, I mean the req parameter sent to various phase handling 
callbacks.
Q3:  Are there any time-based call backs we can implement through 
mods?  sort of like a rate on a view face.

this would be very usefull:

-it could allow me to keep statistics on mod internals at regular 
intervals ex:  average load, high/low peaks, 

-perform cash cleanup/buildup, ping remote tools for "I am alive" 
monitors, etc.
Robert
20-May-2009
[4787x4]
I hope there is a simple trick I don't see at the moment:
As a result of an RSP script I want to return a new web-page that's 
on the file-system. I do it like this:

print read %payment/index.html


So far this works. What I need to do is, to insert some dynamic content 
into the read HTML file.
For this I see several options:

1. Somehow load this file as an RSP file and have it processed.

2. Somehow load this file as a SHTML file and have it processed as 
SSI file.

3. Add some marks and inser the stuff on the fly before delivering 
it.
Option 3 has the advantage, that I stay in my running RSP file context. 
On the other hand it's the "handmade" approach.
Kaj
20-May-2009
[4791]
I'd say your RSP script should "be" the resulting web page; that's 
the normal way to generate dynamic pages. Why do you think of them 
as separate?
Robert
20-May-2009
[4792]
I use RapidWeaver to generate some files. And I need to inject HTML 
in one of these generated files. Hence options 1 to 3. The RSP is 
not generating the whole answer page.
Dockimbel
20-May-2009
[4793x5]
Robert, see RESPONSE/FORWARD in the RSP API Reference page.
<% response/forward %payment/index.rsp %>
Q1 - WORDS dialect : this dialect allow defining new config keywords 
that can be used in the %httpd.cfg file for your mod. IN defines 
the config file sections where it can apply. Possible values are 
:
- globals : global config block used for server-wide options
- main : applies to a domain or webapp context
- location / folder : reserved for future use.
Q2 : The REQ argument is set to the current request object. If you 
get none instead of an object!, you've probably messed up something 
in Cheyenne/UniServe internals.
Q3 : Not yet. It's a planned feature that I need also to add a simple 
CRON-like task scheduler inside Cheyenne. Feel free to add your own 
in your mod, I don't that I'll have time to work on it before middle 
summer (low priority task).
Maxim
20-May-2009
[4798]
thanks... wrt CRON... when you release the next version, I could 
drop that into it and send it back to you.  you don`t have to do 
everything yourself   :-D