Cấu trúc test case trong Robot Framework


  • administrators

    Hi all,

    Robot Framework có rất nhiều bài viết về nó, mình xin điểm lại các ý chính để các bạn nắm sơ qua:
    Được phát triển dựa trên Python
    Dùng cho Automation task với các lĩnh vực như: Web, Win app, Database,.....
    Dùng keywords để thực hiện Automation, tức là ko phải viết code, xem ví dụ sau đây
    Ví dụ: Để load 1 page tự động trong
    a. Selenium-Java: https://code.google.com/p/selenium/wiki/GettingStarted
    b. RF
    Open Browser http://www.google.com firefox
    ==> ko phức tạp đúng ko mấy hữu :D

    Phần 1: Cấu trúc 1 RF test case

    Cấu trúc 1 file test case trong RF, gồm 4 phần cơ bản như sau:

    *** Setting ***
    ...
     
    *** Variable ***
    ...
     
    *** Test case ***
    ...
     
    *** Keyword ***
    

    Bây giờ đi vào từng phần trên để có được 1 test case hoàn chỉnh.

    1. Setting: như tên gọi gồm những thông tin thiết lập mặc định cho file test case (*.txt). Những thông tin thiết lập cơ bản thường thấy:
    *** Setting ***
    Library                      <tên thư viện đã cài đặt>
    Resource                    <tên resource file đặt chung cùng thư mục với file test case>
    
    • Đối với những thông tin dùng chung cho mọi test cases ta thường dùng file resource để thiết lập.

    Ví dụ: testcase1, testcase2,... đều dùng trang web 'http://google.com' để automation.
    Thay vì ứng với mỗi testcase1, testcase2 ta đều phải có 1 dòng khai báo (cách khai báo nói sau nha :D) để mở trang web trên, để đỡ tốn calo làm việc, ta chỉ khai báo trong file resource 1 lần, rồi trong mỗi test case gọi câu khai báo trên là được.

    1. Variables - biến: dùng biến thì...... cũng như trong lập trình thôi mấy bạn, ý nghĩa ko khác nhau.
      Format của 1 biến là : ${<tên biến>}
    • Theo khuyến cáo nếu ta tạo tên biến trong Variables, thì nêu dùng chữ HOA, còn trong Test Cases thì chữ thường.

    Ví dụ:

    ***Variables***
    ${SERVER}          http://www.google.com
    ${BROWSER}          firefox
    
    1. Keywords: có 2 loại
    • Keywords của bản thân RF, chính xác hơn là các library trong RF. Ví dụ: Open Browser là keyword của Selenium library, nên nếu chúng ta không khai báo thư viện ở phần Setting thì ko dùng được.
    • Keywords của riêng mình tạo ra dựa trên các keywords có sẵn của RF.
      Ví dụ:
      Yêu cầu: mở trang pythonvietnam.info, và bấm vào trang Hỏi-Đáp. Ta phải sử dụng 2 keywords của RF như sau:
    Open Browser    http://pythonvietnam.info          firefox
    Click Link            Hoi-Dap   
    (ở đây Click Link nó phức tạp hơn chút, mình chỉ ví dụ cho các bạn dễ hình dung thôi)
    

    Vậy thì cứ mỗi lần làm theo ví dụ như trên ta phải nhập tới 2 dòng lệnh như trên - Để tiết kiệm Calo, ta làm như sau:

    *** Keywords ***
    Bam vao link
    <4 spaces>    Open Browser    http://pythonvietnam.info          firefox
    <4 spaces>    Click Link            Hoi-Dap
    

    Trong đó:
    'Bam vao link': tên keyword của riêng bạn,
    Dưới tên keyword, là các keyword của RF, hoặc của 1 keyword khác do bạn tự định nghĩa.

    Mỗi lần muốn xài, bạn chỉ việc nhập lại cụm từ 'Bam vao link', thế là kích hoạt yêu cầu

    Lưu ý: Khi tạo Keyword thì phải có tên keyword, nếu ko có thì sẽ có lỗi.

    Format cho tạo keyword là:
    <Tên keyword>
    <các keywords có sẵn của RF>

    1. Test Cases: đây là phần chính của chương trình, mọi thao tác automation đều nằm trong
      *** Test Cases ***
      Format của mục Test Case như sau:
    <Tên test case 1  -tùy ý >
    <4 spaces> Keywords  (có thể là keyword của RF hoặc của bạn, tùy theo chủ ý của bạn)
    ......
     
    <Tên test case n  -tùy ý >
    <4 spaces> Keywords  (có thể là keyword của RF hoặc của bạn, tùy theo chủ ý của bạn)
     
    

    Đó là tổng hợp những phần cơ bản tạo thành 1 file test case trong RF. Có 1 vài lưu ý nhỏ sau đây:

    • Cũng như Python, quy tắc 4 spaces được sử dụng
    • Khoảng trắng giữa các tên keyword là 1 space: Open <1 space> Browser. Thì RF nó sẽ hiểu 'Open Browser' là 1 cụm đi liền nhau. Nếu cách nhau nhiều spaces (thường là 4) thì nó sẽ hiểu thuộc thành phần khác hay là thông số của keyword đó.

    ví dụ: Open (1 space) Browser (4 spaces) http://www.google.com (4 space) firefox

    • Nên dùng resource file: trong file resource thì sẽ chứa đựng các thông tin import của library, biến của bộ test suite của bạn. Như thế làm cho file test case của bạn đẹp hơn.

    • Nên dùng [Documentation] để định nghĩa công dụng của test case bạn là gì

    Phần Variable thì thường để trong file resource, ko nhất thiết phải có trong 1 file test case
    (Bài viết chuyển từ diễn đàn cũ)



  • a còn tài liệu hay bài viết nào về robot framework k ạ có thể share cho e xem đc k ạ . e cảm ơn :)


Hãy đăng nhập để trả lời
 

Có vẻ như bạn đã mất kết nối tới Cộng đồng Python Việt Nam, vui lòng đợi một lúc để chúng tôi thử kết nối lại.