SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Tizen Web Application Checker

Xu Zhang
(xu.u.zhang@intel.com)
Agenda
• Tizen Compliance and Application Compatibility
• Tool Features

• Design Overview
• Checker Modules
• Getting Started
• Contributing to Tizen Web Application Checker

2
Tizen Compliance and Application Compatibility
• Tizen Compliance Goal: ensure Tizen device
implementations and applications work together.
• Tizen Compliance Specification (TCS) is a set of
requirements for devices and applications to ensure that
they work together smoothly.
TCS can be found here: https://source.tizen.org/compliance
• Tizen Application Requirements:
•
•
•

3

API USE
Application Packaging
Security
Why We Need Tizen Web Application Checker
Develop

Debug

Package

Distribute

Tizen SDK
.wgt
Emulator
Tizen
toolchain

Simulator

Store
Validation
Validation*

Submit

Tizen
App Store

.tpk

reject

accept

• Developers need to know how to create compatible applications
• Developers need a tool to provide guidance during development

of Tizen application.
• App Store needs a tool to provide to assist in screening

submitted Tizen applications before acceptance
4
Tool Features
• Checks Tizen web application using rules defined in TCS
• Identifies incompatible behavior and provides a clear report
• Runs on Linux/Windows/Mac environment

• Implemented with Node.js
• Difference from other JS analyzing tool
•

•
•
•

5

Checks JavaScript syntax as well as Tizen package and security
risks
No JS code style checking as JSLint
Does not stop at the first issue like the closure compiler. Reports all
possible issues
Checks Tizen Web APIs usage
Design Overview
UX

CLI

Factory Engine

API Checker

Package Checker

Security Checker

Third Part Libraries

Services

Esprima

elementtree

CSSOM
Zipfile

XmlCropto
…

Utils

DB

Error handler

Web API DB

HtmlParser

Commander

6

Report (HTML/XML/JSON)

Factory engine
Schema of config.xml

Report template
Checker Modules – Packaging
• Ensure package format is compliant with Tizen standards
(W3C Widget)
• Validate the given package is a valid WGT package

• Validate the content of a given WGT package

7
Checker Modules – Security
• Ensure no violation in widget access request policy, API privilege
use, and security signature

8
Checker Modules – API Validation
•

9

Ensure all APIs used are supported on Tizen compliant systems
Checker Modules – API Validation
Known Issues
// no define of "test" before
if (condition) {
var test = "hello.World";
var person = function () {...};
} else {
test.split(".");
person = "a string";
}
test.indexOf("o");
p = new person;

"<div id="footer"/>"
// in HTML
footer.setAttribute();
//in JavaScript code

document.getElementById('touchable').addEventListener('touchend', function(ev){
document.write('Remaining on element: ' + ev.targetTouches.length);
// other usage of argument ev
....
}, false);

10
Checker Modules – Reporting
•

Three types of reports: HTML, XML, and JSON. HTML format is
recommended.

•

XML and JSON data can be used by other tools to generate your preferred
report. Useful for automation

11
Checker Modules – Reporting
Report Description
Category
Test Names

Status

Reason

12

Description
Lists all checked items with their names and descriptions
•
•
•

PASS: No problems are found for the corresponding items.
FAIL: Problems were found by the checker.
PENDING: There are warnings. The issue is suspicious but
may not be an error. The Tizen Web App Checker cannot
make a definitive decision and suggests the user manually
double check it.

List all issues checked. Each item is a link leading to the details
of the test run and results.
Checker Modules – Reporting
Report Filtering

Option
Error
Warning

All
Package
API

Security

13

Report Filter
Only show problems marked “Error”
Only show problems marked “Warning”. The developer should
check each of these to verify if it is an error.
Show all items in all modules (Package, API, and Security)
Only show items in the Package module
Only show items in the API module

Only show items in the Security module
Getting Started
Step 1: Set Up Environment
1. Download Python and install it. Set python in your system
variables (Windows Only)

2. Download Node.js from http://nodejs.org/download and install.
Set Node in your environment variables.
3. Test to make sure you can use the Node.js and Python.

Step 2: Download Tizen Web Application Checker
• Download from https://source.tizen.org/compliance

14
Getting Started (Cont.)
Step 3: Install on your development PC
• Extract the package to your working directory
• Make sure Node.js and Python have been set in your system
variables.

Step 4: Run Your Application
•

Open a terminal and run command below

$ node ./bin/tizen-web-app-checker.js –a Tizen22Demo.wgt

•

More helpful usage can be found by running

$ node ./bin/tizen-web-app-checker.js --help

•

15

More options are provided as table
Command-line Options
Options

Description

h, --help

Outputs usage information

-V, --version

Outputs the version information

-l, --log <log>

Specifies the log file path

-t, --type <HTML|XML|JSON>

Specifies the report type

-r, --report <report>

Specifies report file path

-v, --verbose

shows verbose information in the console

-s, --spec <2.1, 2.2>

Specifies the Tizen API version used to check
compliance. Tizen 2.2 is used by default.

-a --apiCheck

Enables the API checker. This is an experimental feature

-p, --privLevel <public | partner |
platform>

Specifies to simulate the distributor granting the level

16
Getting Started (Cont.)
Step 5: Modify your application according to generated

report if needed
More details online in User Guide:
https://source.tizen.org/compliance/application-compliance/webapplication-checker-user-guide

17
Contribute to Tizen Web Checker Tool
• Open source project initiated by Intel Open Source Technology

Center
• Apache 2.0 license
• Source code
git clone ssh://username@review.tizen.org:29418/sdk/tools/web-appchecker.git
Note: before getting source code, please read Work Flow and Developer
Guide to configure your environment

• Next Steps
•
•

18

Integrate into Tizen SDK IDE
Support to check the Tizen UI Framework API
Questions?

19
Tizen Web Application Checker

Mais conteúdo relacionado

Mais procurados

Servlet LifeCycle Demo App
Servlet LifeCycle Demo  AppServlet LifeCycle Demo  App
Servlet LifeCycle Demo App
Peeyush Ranjan
 

Mais procurados (11)

Servlet LifeCycle Demo App
Servlet LifeCycle Demo  AppServlet LifeCycle Demo  App
Servlet LifeCycle Demo App
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automation
 
Xcode 7 UI Testing - Xcake Dublin, October 2015
Xcode 7 UI Testing - Xcake Dublin, October 2015Xcode 7 UI Testing - Xcake Dublin, October 2015
Xcode 7 UI Testing - Xcake Dublin, October 2015
 
Robotframework Presentation - Pinoy Python Meetup 2011January12
Robotframework Presentation - Pinoy Python Meetup 2011January12Robotframework Presentation - Pinoy Python Meetup 2011January12
Robotframework Presentation - Pinoy Python Meetup 2011January12
 
Renaissance of JUnit - Introduction to JUnit 5
Renaissance of JUnit - Introduction to JUnit 5Renaissance of JUnit - Introduction to JUnit 5
Renaissance of JUnit - Introduction to JUnit 5
 
1. Quick sartup a jenkins server on OpenShift
1. Quick sartup a jenkins server on OpenShift1. Quick sartup a jenkins server on OpenShift
1. Quick sartup a jenkins server on OpenShift
 
Python in Test automation
Python in Test automationPython in Test automation
Python in Test automation
 
Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing Tool
 
Selenium interview questions
Selenium interview questionsSelenium interview questions
Selenium interview questions
 
Robot Framework for beginners and what is new at 2019
Robot Framework for beginners and what is new at 2019Robot Framework for beginners and what is new at 2019
Robot Framework for beginners and what is new at 2019
 

Semelhante a Tizen Web Application Checker

Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Ryo Jin
 

Semelhante a Tizen Web Application Checker (20)

Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
 
CNIT 152 12 Investigating Windows Systems (Part 2)
CNIT 152 12 Investigating Windows Systems (Part 2)CNIT 152 12 Investigating Windows Systems (Part 2)
CNIT 152 12 Investigating Windows Systems (Part 2)
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
 
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
 
12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)
 
Hacking Tizen: The OS of everything - Whitepaper
Hacking Tizen: The OS of everything - WhitepaperHacking Tizen: The OS of everything - Whitepaper
Hacking Tizen: The OS of everything - Whitepaper
 
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code DeployAWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
iOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersiOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for Beginners
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdfNET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
 
Introduction to Titanium and how to connect with a PHP backend
Introduction to Titanium and how to connect with a PHP backendIntroduction to Titanium and how to connect with a PHP backend
Introduction to Titanium and how to connect with a PHP backend
 
Intro to Automation Using Perfecto's CQ Lab
Intro to Automation Using Perfecto's CQ LabIntro to Automation Using Perfecto's CQ Lab
Intro to Automation Using Perfecto's CQ Lab
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
iOS Application Exploitation
iOS Application ExploitationiOS Application Exploitation
iOS Application Exploitation
 
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
 
Developer Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdfDeveloper Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdf
 
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
 
Webinar - Building Custom Extensions With AppDynamics
Webinar - Building Custom Extensions With AppDynamicsWebinar - Building Custom Extensions With AppDynamics
Webinar - Building Custom Extensions With AppDynamics
 

Mais de Ryo Jin

Mais de Ryo Jin (20)

Why is EFL used on Tizen?
Why is EFL used on Tizen?Why is EFL used on Tizen?
Why is EFL used on Tizen?
 
Samsung Z4 User Manual
Samsung Z4 User ManualSamsung Z4 User Manual
Samsung Z4 User Manual
 
Samsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
Samsung ARTIK 050 (ARTIK ZERO) Modules Data SheetSamsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
Samsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
 
Introduction to Watch Face Development with Tizen Studio
Introduction to Watch Face Development with Tizen StudioIntroduction to Watch Face Development with Tizen Studio
Introduction to Watch Face Development with Tizen Studio
 
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan DriverTizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
 
Panduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable TizenPanduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable Tizen
 
Cara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone TizenCara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone Tizen
 
Gear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design GuideGear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design Guide
 
Samsung Indonesia: Tizen Store
Samsung Indonesia: Tizen StoreSamsung Indonesia: Tizen Store
Samsung Indonesia: Tizen Store
 
Samsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen WearablesSamsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen Wearables
 
Samsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web AppsSamsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web Apps
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native App
 
Samsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoTSamsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoT
 
Russian Tizen Project
Russian Tizen ProjectRussian Tizen Project
Russian Tizen Project
 
Samsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User ManualSamsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User Manual
 
Tizen Micro Profile for IoT device
Tizen Micro Profile for IoT deviceTizen Micro Profile for IoT device
Tizen Micro Profile for IoT device
 
Panduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenPanduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman Tizen
 
The Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and WaylandThe Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and Wayland
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASS
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASS
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Tizen Web Application Checker

  • 1. Tizen Web Application Checker Xu Zhang (xu.u.zhang@intel.com)
  • 2. Agenda • Tizen Compliance and Application Compatibility • Tool Features • Design Overview • Checker Modules • Getting Started • Contributing to Tizen Web Application Checker 2
  • 3. Tizen Compliance and Application Compatibility • Tizen Compliance Goal: ensure Tizen device implementations and applications work together. • Tizen Compliance Specification (TCS) is a set of requirements for devices and applications to ensure that they work together smoothly. TCS can be found here: https://source.tizen.org/compliance • Tizen Application Requirements: • • • 3 API USE Application Packaging Security
  • 4. Why We Need Tizen Web Application Checker Develop Debug Package Distribute Tizen SDK .wgt Emulator Tizen toolchain Simulator Store Validation Validation* Submit Tizen App Store .tpk reject accept • Developers need to know how to create compatible applications • Developers need a tool to provide guidance during development of Tizen application. • App Store needs a tool to provide to assist in screening submitted Tizen applications before acceptance 4
  • 5. Tool Features • Checks Tizen web application using rules defined in TCS • Identifies incompatible behavior and provides a clear report • Runs on Linux/Windows/Mac environment • Implemented with Node.js • Difference from other JS analyzing tool • • • • 5 Checks JavaScript syntax as well as Tizen package and security risks No JS code style checking as JSLint Does not stop at the first issue like the closure compiler. Reports all possible issues Checks Tizen Web APIs usage
  • 6. Design Overview UX CLI Factory Engine API Checker Package Checker Security Checker Third Part Libraries Services Esprima elementtree CSSOM Zipfile XmlCropto … Utils DB Error handler Web API DB HtmlParser Commander 6 Report (HTML/XML/JSON) Factory engine Schema of config.xml Report template
  • 7. Checker Modules – Packaging • Ensure package format is compliant with Tizen standards (W3C Widget) • Validate the given package is a valid WGT package • Validate the content of a given WGT package 7
  • 8. Checker Modules – Security • Ensure no violation in widget access request policy, API privilege use, and security signature 8
  • 9. Checker Modules – API Validation • 9 Ensure all APIs used are supported on Tizen compliant systems
  • 10. Checker Modules – API Validation Known Issues // no define of "test" before if (condition) { var test = "hello.World"; var person = function () {...}; } else { test.split("."); person = "a string"; } test.indexOf("o"); p = new person; "<div id="footer"/>" // in HTML footer.setAttribute(); //in JavaScript code document.getElementById('touchable').addEventListener('touchend', function(ev){ document.write('Remaining on element: ' + ev.targetTouches.length); // other usage of argument ev .... }, false); 10
  • 11. Checker Modules – Reporting • Three types of reports: HTML, XML, and JSON. HTML format is recommended. • XML and JSON data can be used by other tools to generate your preferred report. Useful for automation 11
  • 12. Checker Modules – Reporting Report Description Category Test Names Status Reason 12 Description Lists all checked items with their names and descriptions • • • PASS: No problems are found for the corresponding items. FAIL: Problems were found by the checker. PENDING: There are warnings. The issue is suspicious but may not be an error. The Tizen Web App Checker cannot make a definitive decision and suggests the user manually double check it. List all issues checked. Each item is a link leading to the details of the test run and results.
  • 13. Checker Modules – Reporting Report Filtering Option Error Warning All Package API Security 13 Report Filter Only show problems marked “Error” Only show problems marked “Warning”. The developer should check each of these to verify if it is an error. Show all items in all modules (Package, API, and Security) Only show items in the Package module Only show items in the API module Only show items in the Security module
  • 14. Getting Started Step 1: Set Up Environment 1. Download Python and install it. Set python in your system variables (Windows Only) 2. Download Node.js from http://nodejs.org/download and install. Set Node in your environment variables. 3. Test to make sure you can use the Node.js and Python. Step 2: Download Tizen Web Application Checker • Download from https://source.tizen.org/compliance 14
  • 15. Getting Started (Cont.) Step 3: Install on your development PC • Extract the package to your working directory • Make sure Node.js and Python have been set in your system variables. Step 4: Run Your Application • Open a terminal and run command below $ node ./bin/tizen-web-app-checker.js –a Tizen22Demo.wgt • More helpful usage can be found by running $ node ./bin/tizen-web-app-checker.js --help • 15 More options are provided as table
  • 16. Command-line Options Options Description h, --help Outputs usage information -V, --version Outputs the version information -l, --log <log> Specifies the log file path -t, --type <HTML|XML|JSON> Specifies the report type -r, --report <report> Specifies report file path -v, --verbose shows verbose information in the console -s, --spec <2.1, 2.2> Specifies the Tizen API version used to check compliance. Tizen 2.2 is used by default. -a --apiCheck Enables the API checker. This is an experimental feature -p, --privLevel <public | partner | platform> Specifies to simulate the distributor granting the level 16
  • 17. Getting Started (Cont.) Step 5: Modify your application according to generated report if needed More details online in User Guide: https://source.tizen.org/compliance/application-compliance/webapplication-checker-user-guide 17
  • 18. Contribute to Tizen Web Checker Tool • Open source project initiated by Intel Open Source Technology Center • Apache 2.0 license • Source code git clone ssh://username@review.tizen.org:29418/sdk/tools/web-appchecker.git Note: before getting source code, please read Work Flow and Developer Guide to configure your environment • Next Steps • • 18 Integrate into Tizen SDK IDE Support to check the Tizen UI Framework API