README with the five lecture step screenshots and the option table, Doxygen builds without warnings, wiki pages for the home page and the five steps in three languages (screenshots and what each step taught), sidebar and footer. Closes #29 Closes #30 Closes #31 Closes #32 Closes #33
2.3 KiB
2.3 KiB
English · Dansk · Bahasa Malaysia
Lektionens trin 3: køb den dyreste opgradering, der er råd til
Hvad opgaven går ud på
Hvert 5. sekund skal botten se på ruden til højre, finde de opgraderinger, der er råd til, og købe den dyreste. Med 105 cookies er der for eksempel råd til både Cursor (15) og Grandma (100), så botten køber Grandma. Hintene peger på split, strip og replace til at omdanne sidens tekst til tal.
Hvad vi byggede
parse_amountogparse_cookie_countomdanner sidens tekst til tal. De fjerner ordetcookies, dropper alt efterper second, fjerner tusindtalskommaerne medreplaceog forstår ord som1.4 million. Eksempler:5,000 cookiesgiver 5000;1.235ogmillion cookiespå to linjer giver 1.235.000.SeleniumGame.upgradeslæser hvert synligt produkt: dets id, navn og pris.choose_most_expensive_affordable(upgrades, cookies)er en ren funktion: blandt de opgraderinger, hvis pris ikke overstiger antallet af cookies, returnerer den den dyreste eller ingenting. Den er testet med eksemplet ovenfor (105 cookies giver Grandma).click_and_buybliver ved med at klikke, og nårcheck_interval_seconds(som standard 5) er gået, læser den antallet, vælger og køber.- I en kørsel på 45 sekunder i containeren købte botten 8 opgraderinger, og skærmbilledet viser de Cursors og Grandmas, den ejer.
Hvad vi fik ud af dette trin
- Det svære er teksten, ikke klikket. Det samme tal optræder som
120,5,000,1.4 millionog på to linjer. Fortolkningen er en lille ren funktion med mange testcases, så den er sikker at ændre. - Hold reglen væk fra browseren. "Køb den dyreste opgradering, der er råd til" er én funktion, der intet ved om Selenium. Derfor kunne trin 5 tilføje en anden regel uden at røre browserkoden.
- Tæl ikke et køb, du ikke har foretaget. Den første version loggede et køb, hver gang den klikkede. En rigtig kørsel viste, at klikket ikke altid nåede produktet, så
buymelder nu, om det gjorde, og kun rigtige køb tælles (se Step 4).
