5

Tôi đang viết kịch bản thử nghiệm tự động hóa bằng cách sử dụng Robot Framework & Selenium2Library để thử nghiệm ứng dụng web của chúng tôi (ở định dạng .txt). Một trong các trường hợp thử nghiệm của tôi liên quan đến việc kiểm tra thuộc tính kiểu CSS của thẻ HTML.cách tìm thuộc tính phong cách css của một phần tử html cụ thể bằng cách sử dụng Khung công tác robot?

Có từ khóa cụ thể nào trong Khung robot để lấy thuộc tính kiểu CSS của phần tử html không?

Đây là kịch bản thử nghiệm của tôi:

<div id="check_style" style="width:20px;height:20px;background-color:#ffcc00;"></div> 

Bây giờ, tôi có để lưu trữ các màu nền của thẻ html đặc biệt này vào một biến ${bg_color}. Có từ khóa cụ thể nào trong Robot Framework để thực hiện quy trình này không?

Bạn có thể đề xuất một cách hiệu quả để xử lý tình huống này không?

I think we can make use of this javascript function for the above mentioned purpose :

document.getElementById("check_style").style["background-color"]

But how to make use of this particular function to store the value of background-color inot a variable ${bg_color} ?

(I have tried to execute ${bg_color} = Execute Javascript document.getElementById("check_style").style["background-color"] , but didn't work !)

Trả lời

3

Bạn có thể sử dụng từ khóa Selenium2Library Get Element Attribute để có được những thuộc tính style:

| | ${style}= | Get element attribute | [email protected] 

Sau đó, bạn có thể sử dụng một biểu thức chính quy để tìm các thuộc tính màu nền hoặc làm một số phân tích bổ sung. Sau này sẽ dễ dàng hơn để làm trong python hơn với các từ khóa robot.

Ví dụ: nếu bạn hiểu các cụm từ thông dụng, điều gì đó giống như sau có thể hoạt động. Tất nhiên, bạn có thể muốn thêm một số chống đạn.

| | ${style}= | get element attribute | [email protected] 
| | ${color}= | evaluate | re.search("background-color: *(.*?);", '''${style}''').group(1) | re 

Lưu ý: bạn có thể không nhận được giá trị bằng chữ giống như trong HTML thô. Ví dụ: trên máy của tôi ${color} trở lại là rgb(255, 204, 0) mặc dù màu trong HTML là #ffcc00.

+0

Tôi đã thử với từ khóa 'Get Element Attribute' .. Nhưng nó trả về giá trị **. Không có **! Ngoài ra, làm thế nào để trừu tượng một thuộc tính css cụ thể chỉ sử dụng từ khóa này (ví dụ: màu nền)? [Không sử dụng python, đang viết các trường hợp kiểm tra ở định dạng '.txt']. Chúng ta có thể làm một số điều như thế này để có được một thuộc tính cụ thể 'Get Element Attribute id = check_style @ background-color'? –

+0

@ArunRamachandran: không, bạn không thể sử dụng 'Nhận thuộc tính phần tử' để nhận' nền-màu'; 'background-color' không phải là thuộc tính phần tử. Bạn có thể sử dụng nó để có được phong cách, như tôi đã cho thấy trong ví dụ của tôi, và sau đó bạn có thể phân tích kết quả để có được màu nền, cũng như tôi đã thể hiện trong câu trả lời của mình. –

+0

Cảm ơn bạn đã giải pháp! Nhưng, chúng ta có thể trực tiếp sử dụng các cụm từ thông dụng trong khung công tác robot (nếu đang viết các trường hợp thử nghiệm theo định dạng '.txt') không? tức là chúng ta có thể sử dụng các biểu thức chính quy trong các trường hợp thử nghiệm ngay cả khi chúng ta không viết các test case trong python? –

Các vấn đề liên quan