Live data from Hacker News

Frustration project: Automate data entry into PeopleSoft with Selenium

github.com

11–20 of 51 posts

Re: Frustration project: Automate data entry into PeopleSoft with Selenium

#11

Ha! I see your crappy UI in PeopleSoft, with hard to automate edge cases, and I raise you multiple SharePoint instances! Ante up at your peril in this game :/)

I've managed to automate SharePoint data uploads and downloads using the SOAP API.

Re: Frustration project: Automate data entry into PeopleSoft with Selenium

#12
post #9

I use selenium similarly to drive a similarly awful interface known as costpoint. I would DEARLY love to know how to use the browser developer tools to figure out what is actually happening under the hood of websites without having to read every single Javascript module. The network tab shows you what is sent and received but it's not easy to figure out how those messages are created and parsed. It would be nice to l…

If you click on the "initiator" column in the network tab it will jump to the code that created the request. Can also see stack traces, set breakpoints, etc.

If anyone happens to know of a particularly good article on this for non-javascript (but technical) people, please post.

Re: Frustration project: Automate data entry into PeopleSoft with Selenium

#13

I use selenium similarly to drive a similarly awful interface known as costpoint. I would DEARLY love to know how to use the browser developer tools to figure out what is actually happening under the hood of websites without having to read every single Javascript module. The network tab shows you what is sent and received but it's not easy to figure out how those messages are created and parsed. It would be nice to l…

Other comment about initiators is probably more useful for your use-case but there are also "Event Listener Breakpoints" in the sources tab in chrome dev tools. You can use mouse->click to figure out what most buttons are doing (you may have to step through a couple onclick handlers to get to the one you want).

Re: Frustration project: Automate data entry into PeopleSoft with Selenium

#16
post #9

Earlier quoted context omitted.

If you click on the "initiator" column in the network tab it will jump to the code that created the request. Can also see stack traces, set breakpoints, etc.

If anyone happens to know of a particularly good article on this for non-javascript (but technical) people, please post.

Please clarify--are you looking to understand how browser events work without learning about the DOM and/or Javascript?

Re: Frustration project: Automate data entry into PeopleSoft with Selenium

#17
post #15

I would love to hear any more you have to say about the genetic algorithms you use to help with scheduling.

Ah yes, the genetric algorithm (GA). Well, in short, scheduling personnel is a very visible, policital, and important job. It affects people's lives, and has to be done farily and correctly. I did my best (by hand) for a few years (scheduling 50ish professors into 200 class sections), and I knew I was doing a bad job, but had no choice. It would take 2 weeks to do, because I could only mentally handle working on such a job for so much in a given day before I had to set it aside. So I came up with a preference form, that each could fill out dealing with things like preferred time of the day to teach, daily schedule compactness, preferred class levels, etc. These preferences could also be weighted (0..1) by importance to each person. So the GA starts out with a long, two-part inital random sequence that consists IDs to all professors followed by IDs to all possible classes. Using crossover and mutation (the usual GA steps), the order of the professor IDs vs the order of the classes (prof 0 gets class, prof 1 gets class 1, etc.) are shuffled by the GA. (There are a lot of strange constraints to this you'd only see in academia, related to pay, and contractual teaching requirements.) A fitness is calculated for each professor's latest schedule, by computing a weighted sum of their preferences, based on the assigned classes pulled from the long GA sequence. It's incredible how well it works. It is done in under an hour, people seem happy, everyone's schedule fitness is minimzed, and each's schedule fitness is explained to them (i.e. you got +3 points because you wanted an 8am class, and got one). Everyone can also see everyone else's fitness so it's a "share the pain" kind of resulting schedule. At times when we go in to tweak things by hand, it is clear how tightly the GA optimized things, as any human intervention we try usually and obviously makes things worse. Bottom line, the GA generates the CSV, which Selenium types into PS. After using the GA, I'm convinced that neither humans (or spreadsheets) should be invovled in scheduling at all. I also think GAs are also pretty incredible.

Re: Frustration project: Automate data entry into PeopleSoft with Selenium

#18
post #10

#FunFact: I started the Selenium project. My first job out of college was at PeopleSoft. I left PeopleSoft and went "in-house" as the PeopleSoft admin at ThoughtWorks. A few years later, Selenium came out as a side-project for another internal system we needed. But when we were rolling out Selenium and dreaming up "world domination plans", one of my mine was to get a copy of Selenium to ship with every copy of People…

THANK YOU for giving us Selenium. When I first ran my script and saw the browser pop up start "running on it's own," I was pretty wowed.

Re: Frustration project: Automate data entry into PeopleSoft with Selenium

#19
post #10

#FunFact: I started the Selenium project. My first job out of college was at PeopleSoft. I left PeopleSoft and went "in-house" as the PeopleSoft admin at ThoughtWorks. A few years later, Selenium came out as a side-project for another internal system we needed. But when we were rolling out Selenium and dreaming up "world domination plans", one of my mine was to get a copy of Selenium to ship with every copy of People…

Thank you for starting selenium. It has helped me in so many ways over the years.

Re: Frustration project: Automate data entry into PeopleSoft with Selenium

#20
post #10

#FunFact: I started the Selenium project. My first job out of college was at PeopleSoft. I left PeopleSoft and went "in-house" as the PeopleSoft admin at ThoughtWorks. A few years later, Selenium came out as a side-project for another internal system we needed. But when we were rolling out Selenium and dreaming up "world domination plans", one of my mine was to get a copy of Selenium to ship with every copy of People…

Selenium is amazing and saved my sanity when I was fresh out of college in a boring office job with terrible software. Thank you for it!
Post reply on HN