วันเสาร์ที่ 8 กรกฎาคม พ.ศ. 2560

Functional Test

    ในการ test แบบ functional test จะขออธิบายไล่ถ้าได้ test อะไรบ้าง จะไม่ได้อธิบายเป็น commit ต้องขออภัยด้วย เพราะว่าตอนทดลองทำ test ได้ทำแล้วก็แก้ แล้วก็ทำต่อเลยไม่ได้ทำการ commit

    เป็น method เรียกใช้ตัวเองในการกำหนด browser ที่จะใช้ในการ test ในกรณีนี้จะเป็น firefox และจะมีการเรียกใช้ method create_test_date() เพื่อใช้ในการสร้างข้อมูลเพื่อใช้ในการ test

    เหตุผลที่จะต้องมีการสร้างข้อมูลก่อนเทสนั้นก็เพราะว่า web app ตัวนี้จะเป็น web app ที่ใช้ในการสุ่ม รายชื่ออาหารซึ่งเป็นข้อมูลใน Database ซึ่งมันจะต้องมีข้อมูลเพื่อใช้ในการสุ่ม แต่ว่าในการ test นั้นเราจะใช้ Database จำลองซึ่งจะไม่มีข้อมูล และ สามารถใส่ข้อมูลจากการ test ได้ โดยไม่ไปกระทบกับตัวข้อมูล ของ Database ที่ใช้งานอยู่จริงๆ











    Method tearDown จะเป็น method เรียกใช้ตัวเอง เพื่อใช้ในการปิด browser หลังจากที่ได้ทำการ test เสร็จแล้ว

    Method create_test_data() จะทำการสร้างข้อมูลลงไปใน Database จำลองเพื่อใช้ในการทดลองสุ่มอาหาร ซึ่งจะใส่ไว้แค่ตัวเดียว เพื่อที่จะดูว่ามีการแสดงผลที่ถูกต้องหรือไม่






































    ในการ test จะ test ตาม user story ที่ได้เขียนเอาไว้ โดย ตอนแรกจะทำการค้นหา title ของ web page ก่อน หลังจากนั้น ก็จะทำการกด ปุ่มโดยค้นหา element โดยใช้ id ว่า button_box โดยจะถูกกำหนดไว้ตอนเขียน web app หลังจากนั้นจะใช้คำสั่ง click() เพื่อทำการคลิกปุ่มแล้วก็จะ check หา id ที่เป็น choice หรือ ก็คือ เหล่าตัวเลือกหมวดอาหาร

    พอค้นหาเจอแล้วก็จะใช้คำสั่ง click เช่นเดิม แล้วก็จะหา id submit ซึ่งจะเป็นปุ่มกด submit นั้นเอง แต่วิธีกดจะไม่เหมือนเดิมเพราะจะใช้การ send_keys(Keys.ENTER) หรือ ก็คือสั่งให้กด Enter นั้นเอง ก็จะไปหน้าผลลัพธ์ แล้วก็ จะค้างไว้ 5 วินาทีเพื่อดูผล แล้วหน้าต่างจะปิดลง แล้วขึ้น Finish the test! ไว้ที่หน้าต่าง terminal

วันพฤหัสบดีที่ 29 มิถุนายน พ.ศ. 2560

แก้ไขเพิ่มเติม

จากการ present ครัังล่าสุดได้มีการแนะนำจาก SPN ให้นำหน้าเว็บบางหน้าออกไปเพราะจะทำให้คลิกเยอะเกินไป ทางผมก็ได้ทำการแก้ไขนำเอา แล้วก็ลองใช้ web app และแก้ไขเพิ่มเติมดังนี้


ก็ได้ทำเพิ่มมาสอง commit อันแรกก็จะเป็นปุ่ม back ในหน้าแก้ไข ซึ่งได้พบว่าลืมใส่เอาไว้ เลยไม่สามารถกลับไปที่หน้าหลักได้

commit ถัดไปก็ได้นำหน้า Home ออกไปเพราะว่าจาก คำแนะนำของ SPN ก็ได้เข้าใจว่า มันก็มีหน้า Homepage ที่ไว้สำหรับลิงค์ไปหา App ต่างๆแล้ว หน้านี้ก็คงไม่จำเป็นเพราะจะทำให้เกิดการคลิก ที่เยอะจนเกินไปครับ 

หน้านี้ก็จะหายไป

จะกลายมาเป็นหน้านี้แทน

    ในส่วนนี้ก็จะขอชี้แจ้งเพียงเล็กน้อยก็คือ version control ตอนนี้ใช้ Bitbucket ครับ  https://bitbucket.org/thanut_suwannawong/

โดย commit จะหายไปบางส่วนเนื่องจากมีการนำไฟล์มา push กับ repository ตัวใหม่ แล้วเผลอลบ repository บน cloud อันเก่าไปด้วย โดยลืมคิดเรื่อง commit ไป commit ในส่วนของการสร้าง web app ก็จะหายไปบางส่วน ครับผม และสาเหตุที่ต้องสร้าง repository ก็เพราะว่าต้องการที่จะใช้ในการ pull ลง pythonanywhere ได้ง่าย เลยแยก repository ไว้เก็บเป็น repo ละ app ครับผม

วันศุกร์ที่ 19 พฤษภาคม พ.ศ. 2560

วันอาทิตย์ที่ 30 เมษายน พ.ศ. 2560

Random_food (v.1.0)

    ในตอนนี้ฟังก์ชั่นการทำงานของ app Random_food นั้นสามารถที่จะ
 - สุ่มอาหารได้
 - เพิ่มเมนูที่จะสุ่มอาหารได้
 - ลบเมนูอาหารได้

    ในส่วนนี้จะไม่ขออธิบายโค้ด แต่จะอธิบายการทำงานเฉยๆพร้อมกับรูปประกอบเล็กน้อย


    หน้าแรกก็จะเป็นดังนี้


    ก็สามารถเลือกหมวดอาหารที่จะสุ่มได้ ได้ที่ต้องการแล้วกด สุ่มเลย แต่หากต้องการที่จะแก้ไข หรือ เพิ่มเมนูในคลิกปุ่มด้านล่าง



    เมื่อกดเข้ามาแล้ว ให้กดเลือกหมวดที่จะแก้ไข แล้วก็กด 'Edit'


    ด้านบนจะเลือกเพื่อที่จะลบรายการส่วนด้านล่าง จะเป็นการแอดเมนูอาหารให้กับหมวดๆนั้น

ปัญหาที่พบ
ยังไม่เจอปัญหาร้ายแรง ส่วนใหญ่จะเป็นการลืมนู้นนี้ซะส่วนใหญ่



วันพุธที่ 19 เมษายน พ.ศ. 2560

Random_food : User story

# Mr.Wick want to have dinner
# he goes to restaurant
# he don't know what to eat
# he've heard about new app "Random_food"
# app will random food for the one who doesn't know what to have for that meal
# he goes in to website
# then he see its homepage and
# he sees message "Just click" and a button
# he clicks on it
# he sees many options and he decide to choose "หมวดข้าวจานเดียว"
# the website shows the result, it's "ข้าวกะเพราะหมูกรอบ"
# he feels okay with that then he closes website.

วันอาทิตย์ที่ 16 เมษายน พ.ศ. 2560

AS2 : Random_food

    ในช่วงพักหยุดช่วงสงกราต์ SPN ได้ให้นักศึกษาไปทำงาน AS2 โดยหัวข้อที่จะให้ทำนั้น นศ. เป็นคนกำหนดเอง โดยหลักการคือนำปัญหาที่พบในปัจจุบัน มาทำเป็นโปรแกรมเพื่อทำการช่วยแก้ปัญหานั้นๆ โดยปัญหาของผมนั้นนึกไม่ออกว่าจะทานอะไร จึงเป็นที่มาของ App สุ่มเมนูอาหาร โดยได้ทำงาน ไปส่วนนึงแล้วสามารถที่จะสุ่มอาหารแล้วบอกแคลลอรี่ได้ โดยอาจจะทำเพิ่ม extra เพิ่มเติมทีหลัง แต่ที่หลักๆคิดว่า SPN เน้นไปที่เรื่อง TDD ซะเป็นส่วนใหญ่

    นี้เป็นการ commit ทั้งหมด ในตอนนี้ โดยจะมาอธิบายอีกภายหลังครับผม